首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.bashrc在"/bin/bash -登录“之后执行命令

.bashrc在"/bin/bash -登录“之后执行命令
EN

Unix & Linux用户
提问于 2013-11-17 17:48:27
回答 2查看 4.3K关注 0票数 1

我的.bashrc中有一个别名:

代码语言:javascript
复制
alias s='cd ~/Documents/projects/s && /bin/bash --login && rvm use ruby-1.9'

如何在正确的部分进入登录shell (/bin/bash --登录)后执行正确的部分?

EN

回答 2

Unix & Linux用户

发布于 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中添加以下代码:

代码语言:javascript
复制
case $- in
  *i*) if [ -e ~/.bashrc ]; then . ~/.bashrc; fi;;
esac
if [ -e ~/.profile ]; then . ~/.profile; fi
票数 2
EN

Unix & Linux用户

发布于 2013-11-17 23:07:55

为了使ruby只在您要求的情况下运行,@Gilles对答案进行了改进,我将编辑.bashrc文件的副本,并告诉bash将其与--rcfile参数一起使用。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/101517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档