我在一台全新的服务器(CentOs 6)中使用Perlbrew。
在我之前的系统(RedHat 4)中,我曾经在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终端更像是一个可视化工具,但我并不完全理解它。
答案 0 :(得分:1)
我找到了方法:别名必须在.bashrc
中我使用(Macintosh)终端连接,当登录到在线服务器时,我只需“激活”一个键入“/ bin / bash”的新shell。
在这个新的shell中,我有正确的Perlbrew Perl,一个所有的别名,因为这个新的shell从.bashrc文件中获取所有内容。
令我感到困惑的是,“新shell”并不像我期望的那样真正是“新的终端窗口”,而是一个新的“进程”,而这个新进程显然使用.bashrc作为起点。