GNU Screen不会在10.5.8上继承我的PATH
我每天都使用屏幕来满足终端的需求,对此我感到非常满意。不过,最近我做了一些更新我的bash配置文件和我注意到,我设置各种PATH元素(PATH,MANPATH,INFOPATH在2个地方,等)。我将文件修改为应有的样子,现在我的所有环境变量都已设置一次.bash_profile。这就是我的问题。 显然,我之所以将它们设置在两个位置是因为屏幕。屏幕似乎仅执行.bashrc,似乎没有PATH从原始bash shell正确继承我的或任何其他环境变量。因为它仅执行,.bashrc并且我现在仅将变量设置为in .bash_profile,所以我得到的不完整PATH。 那么,我的问题是如何在不进行复制的情况下将环境变量显示到屏幕上。阅读Bash文档似乎表明它可能是屏幕用于登录的外壳类型,即非登录交互式外壳,但是我不知道如何强制屏幕使用特定类型的外壳,只有通过使用的shell -s /bin/bash。 您可以在GitHub页面上仔细阅读我的配置文件。 这是打破屏幕的提交提交。 编辑:我正在使用,Screen version 4.00.03 (FAU) 23-Oct-06并且我倾向于通过screen -h 50000 编辑:我现在已经能够在Cygwin()上进行测试CYGWIN_NT-5.1 1.7.1(0.218/5/3) i686,Screen version 4.00.03 (FAU) 23-Oct-06并且它表现出与Mac上不同的行为。 我现在发现的特定行为是,在Cygwin中,我对PATH.bash_profile 所做的更改在进入屏幕时会被复制,然后连续创建屏幕窗口不会复制路径,而是重新提供.bash_profile。 为了说明我正在谈论的行为: 来自新终端的输出: ... PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man Aliases: alias ..='cd ..' alias ...='cd ../..' ... [~]$ 屏幕第一次调用的输出: [~]$ screen -h 50000 -s -/bin/bash …