GNU Screen、OS X 10.9 中未设置 PATH

GNU Screen、OS X 10.9 中未设置 PATH

我不是它的常客,screen但每隔几周我会使用它来完成一些精细的任务。但是昨天启动时我无法执行任何命令(lssshmkdir),快速调试发现环境变量PATH设置不正确。

更具体地echo $PATH显示我自定义的目录设置了.profile但缺少非常基本的条目,例如/usr/local/bin

在“正常”终端上,一切都很好,只是screen它有所不同。我怀疑screen它使用了与默认 OS X 终端应用程序不同的 shell 作为前缀bash-3.2$(而不是username$),并且我尝试了类似问题的答案中的诊断程序:https://superuser.com/a/114314/127409

但是我从未修改过任何屏幕设置,尽管外壳不同,但我从未遇到过这样的问题。我能想到的唯一导致问题的是最近的 OS X 更新(10.8 到 10.9),但我在互联网上找不到更多信息。

答案1

这可能是“登录 shell”行为的变化。在“man bash”中阅读 bash 使用的不同启动文件 - .bashrc、/etc/bashrc、.profile、.bash_profile、/etc/profile 等,在弄清楚系统范围默认值中发生了哪些变化之前,请检查 /etc/screenrc 和 .screenrc 中的“登录”设置。如果未设置,默认值可能也会发生变化。

要尝试该设置,请在屏幕内(假设您使用默认的 Ctrl-A 命令绑定),点击^A:以获取提示并输入login onlogin off,设置后,创建一个新窗口来^Ac查看会发生什么。

相关内容