我的.bashrc中有一个别名:
alias s='cd ~/Documents/projects/s && /bin/bash --login && rvm use ruby-1.9'如何在正确的部分进入登录shell (/bin/bash --登录)后执行正确的部分?
发布于 2013-11-17 21:28:13
当您运行bash --login时,这将启动一个登录壳。bash在初始化文件方面的一个古怪之处是,如果它是一个登录shell,它只读取~/.bash_profile (或者如果它不存在~/.bash_login,或者如果它不存在任何一个~/.profile),而不是~/.bashrc,即使这个shell是交互式的。
若要在登录shell中执行代码,请将其放入~/.bash_profile (如果它特定于bash ),或者如果希望在任何登录(即使是在调用/bin/sh时)执行代码,则在~/.profile中。
要确保应用了交互式shell的自定义,请在~/.bash_profile中添加以下代码:
case $- in
*i*) if [ -e ~/.bashrc ]; then . ~/.bashrc; fi;;
esac
if [ -e ~/.profile ]; then . ~/.profile; fi发布于 2013-11-17 23:07:55
为了使ruby只在您要求的情况下运行,@Gilles对答案进行了改进,我将编辑.bashrc文件的副本,并告诉bash将其与--rcfile参数一起使用。
https://unix.stackexchange.com/questions/101517
复制相似问题