我在一個全新的服務器(CentOs 6)中使用Perlbrew。運行Perlbrew時的Bash別名
在我以前的系統(RedHat 4)WiTHOUT Perlbrew中,我曾經在bash shell中使用一些別名,例如alias nreload='/usr/local/nginx/sbin/nginx -s reload'
來重新啓動Nginx,只是將該行放入.bash_profile文件中。
現在,在Perlbrew中,我在.bash_profile和.bashrc中嘗試了它,但沒有運氣。我可以在飛行中製作別名,但我不能讓它們永久可用。
我遵循Perlbrew安裝提示,並複製.bashrc文件中的行source ~/perl5/perlbrew/etc/bashrc
。我認爲它應該通過登錄到服務器來激活Perlbrew Perl,但它不會。所以我每次需要使用Perlbrew Perl時都必須寫source ~/perl5/perlbrew/etc/bashrc;
。它似乎不是正確的方法。
也許真正的問題是我如何運行Perlbrew。也許我不明白Perlbrew打開另一個shell的概念。如果有另一個shell,一個子shell,我該如何在其中使用別名?
這裏是我的.bash_profile內容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
source ~/perl5/perlbrew/etc/bashrc
export PATH
alias nreload='/usr/local/nginx/sbin/nginx -s reload'
BTW:服務器是一個遠程之一,我控制它從本地Macintosh電腦,使用終端。我讀過一些關於終端的東西,它比真正的Unix終端更像是一個可視化工具,但我並不完全理解它。
沒有真正安裝它,很難確定perlbrew如何搞亂你的環境。 〜.bashrc中定義的別名應該一直存在。我會用你需要的別名在$ {PERLBREW_ROOT}/etc/bashrc中添加一行。以LDLIBRARY_PATH,PATH和其他環境變量的形式來玩,似乎是一件很難完成的任務,並且不會影響環境的其他方面。 – 2013-04-04 02:51:28