シェルスクリプトでsourceコマンドを使用すると機能しません

シェルスクリプトでsourceコマンドを使用すると機能しません

~/.bash_profileファイルに環境変数を追加するインストーラを使用しています。

桟橋サーバーを起動するとエントリが見つかりません...

私が走るとき

$ source ~/.bash_profile

ファイルを再読み込みし、~/.bash profileサーバーは問題なく正常に起動しました。

問題は、クライアントが新しいシェルセッションを開始せず、ファイルを手動で更新しないことです~/.bash_profile

桟橋サーバーの起動スクリプトが呼び出されたときに呼び出されるシェルスクリプトにそのコマンドを追加しようとしましたが、source ~/.bash_profile機能しませんでした。

~/.bash_profile現在のセッションをリロードする他の方法はありますか?あなたが私に提供できるすべての情報は大いに感謝します。

答え1

シェルスクリプトは通常bashによって実行されません(明示的に指定されていない限り)。

現在、多くのLinuxシステムでは/ bin / shがあり、からインポートされた非標準のシェルコマンドなdashので、dashなどのシェルはそれをサポートしません。sourcecsh

.POSIX定義のドットコマンド()は、渡されたファイル引数に非標準の拡張子が含まれていない限り機能しなければなりません。

関連情報