Mac Gnu-Screenはデフォルトの.bash_profileをロードしません


14

bash_profileに多数のカスタム設定があります。gnu-screenを使用すると、画面が実行されないことに気付きましたsource /Users/disappearedng/.bash_profile。source /Users/disappearedng/.bash_profileを.screenrcファイルに配置しようとしましたが、エイリアスがコマンドではないことを訴えています...(screenrcにはscreenrc固有のコマンドが必要だと思います)。

.bash_profileを.profileまたは.bash_rcに変更しようとしました。その仕事のどれも。

助けがありますか?

回答:


17

.bash_profileファイル(および.profileファイル)はログインシェル用にロードされ、非ログインシェルは.bashrc(_記号なし)を使用します。.screenrcファイルには、画面ウィンドウを起動するとき(特定のプログラムをウィンドウアプリケーションとして起動しないとき)に起動するシェルを画面に指示する行があります。私の.screenrcファイルでは、これはそのままです(コメントも含む):

# shell:  Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
  shell -$SHELL

.screenrcファイルを確認し、シェル行の前にダッシュがあることを確認します。そのダッシュ記号を使用してログインシェルを強制すると、.bash_profileが取得されます。私の.screenrcの$ SHELL変数は、screenを起動するシェルによって提供されるシェル値を使用しています(通常、私にとってはbashです)。

ご参考までに、ログインシェルと非ログインシェルの間で発見できた最大の違いは、通常、非ログインシェルがスクリプトを実行するために呼び出されることです。


ああありがとう!さらに、この現在のウィンドウがgnuスクリーン内にあることを簡単に自分に知らせる方法はありますか?
消えた

.screenrcファイルのhardstatusオプションは、画面にいることを確認できるようにするために使用できます(他の気の利いた設定も理解しています)。画面のmanページには、構成方法の詳細が記載されているはずです(頭の上の方は知りません)。
マトリックスモール

2

ソーシング.bash_profileは、実際には、Macターミナルアプリとは異なり、ほとんどのターミナルアプリとは異なります。~/.bashrcただし、新しいシェルを作成するたびに、画面は読み取ります。

の名前~/.bash_profile~/.bashrc(質問のようにbashとrcの間にアンダースコアなしで)変更すると、ソースになります。

ただし、私の好みの戦略は、すべての設定をに配置しbashrc、次のbash_profileようにソースを設定することです。

[ -f .bashrc ] && . .bashrc

-1

すべての設定をに書き込む場合.bash_profile、通常は端末をセットアップし、次の.bashrc方法.bash_profileでスクリーンセッションのポイントを指すリンクを作成する場合、設定ファイルを変更する必要はありません。

$ ln -s ~/.bash_profile ~/.bashrc

いずれかのファイルに加えられた変更はに保存されますが.bash_profile、からも​​アクセスできます.bashrc

唯一の欠点は、設定ファイルの1つだけに設定を追加できないことです。


この答えを少し広げていただけますか?これがどのように問題を解決するのか、実際には説明していません。
bwDraco 14

-1

Linuxログインシェルは、ユーザーファイルの場合に次の行を追加することにより、非ログインシェルをソースします。

[[ -f ~/.bashrc ]] && . ~/.bashrc

このソリューションはすでに投稿されています。
slhck

また、後方にあるように見えます。
G-Manが「Reinstate Monica」と言う
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.