端末のニーズに合わせて日常的に画面を使用していますが、とても満足しています。最近では、しかし、私は私のbashの設定ファイルにいくつかの更新をしたと私は、さまざまな設定をしていることに気づいPATH
(要素をPATH
、MANPATH
、INFOPATH
2ヶ所で、など)。私はファイルを本来あるべき姿に変更し、今ではすべての環境変数が一度に設定され.bash_profile
ます。ここに私の問題があります。
どうやら、私が2か所に設置したのは画面のせいでした。screenは実行するだけのように見え、元のbashシェルから自分や他の環境変数を正しく継承しているようには見え.bashrc
ませんPATH
。これは実行するだけで.bashrc
、変数を設定する.bash_profile
だけなので、不完全なを取得しPATH
ます。
私の質問は、環境変数を重複せずに画面に表示する方法です。Bash
ドキュメントを読むと、画面がログインに使用するシェルの種類、つまり非ログインインタラクティブシェルである可能性があることが示されているようですが、画面に特定の種類のシェルを強制的に使用する方法を理解できませんでした。を介して使用するシェル-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
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/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:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
以降の呼び出しC-a c
:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/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:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
あなたは見ることができます