我在一个全新的服务器(CentOs 6)中使用Perlbrew。
在我之前的系统(RedHat 4) Nginx Perlbrew中,我常常在bash shell中使用一些别名,例如alias nreload='/usr/local/nginx/sbin/nginx -s reload',只需将行放入.bash_profile文件中即可重启WiTHOUT。
现在,使用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'顺便说一句:服务器是远程的,我用终端从本地的Macintosh上控制它。我读过一些关于终端是一个可视化工具而不是一个真正的Unix终端的文章,但我并不完全理解它。
发布于 2013-05-07 00:17:00
我已经找到了方法:别名必须在.bashrc中
我使用(Macintosh)终端连接,当登录到在线服务器时,我只需“激活”一个新的shell,输入"/bin/bash“。
在这个新的shell中,我使用了正确的Perlbrew Perl,这是一个完整的别名,因为这个新的shell从.bashrc文件中获取所有内容。
让我困惑的是,“新外壳”并不是我所期望的“新终端窗口”,而是一个新的“进程”,而这个新进程显然是以.bashrc为起点的。
https://stackoverflow.com/questions/15797020
复制相似问题