我安装了几个单独的程序,其中一些需要我进入我的 GUI 终端设置并启用/禁用“作为登录 shell 运行命令”选项才能使其正常工作。
例子:
我安装了Ruby on Rails。不幸的是,我必须进入终端选项并启用“以登录 shell 身份运行命令”才能将其置于我的 PATH 中。
在我安装之前,这并不是什么大问题性感狂欢提示,仅当禁用该选项时才有效。
所以我的问题本质上是:“以登录 shell 身份运行命令”有什么作用?有没有办法让禁用时运行的东西在以登录 shell 身份运行时运行?
答案1
假设您的 shell 是 Bash(Ubuntu 中的默认设置),则存在以下区别:
当作为登录shell,Bash 将在启动时读取
~/.bash_profile
(如果不存在,则读取~/.profile
)。在某些情况下,此文件~/.bashrc
也会读取。当作为未登录shell,Bash 将读取
~/.bashrc
。
那么,为什么在以登录/非登录 shell 运行时会看到不同的行为?因为您的.bash_profile
/.profile
执行的操作与您的 不同.bashrc
。
对于你的情况我建议的解决方案是复制.bash_profile
对/进行的自定义.profile
,粘贴将它们放入.bashrc
并禁用“作为登录 shell 运行命令”。