我不是它的常客,screen
但每隔几周我会使用它来完成一些精细的任务。但是昨天启动时我无法执行任何命令(ls
、ssh
、mkdir
),快速调试发现环境变量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 on
或login off
,设置后,创建一个新窗口来^Ac
查看会发生什么。