bashでshebangを使用する正しい方法

bashでshebangを使用する正しい方法

bashのshebangで推奨されるオプションは何ですか?

#!/bin/bash -e

上記のように現在保有しています。このソース$HOME/.bashrc

スクリプトを中断してスクリプトの起動を遅らせる可能性があるため、ユーザーの.bashrc/sourceを取得したくありません(ホームディレクトリは通常ネットワークドライブにあります)。.profile

この機能を無効にするコマンドラインオプションはありますか?
どのような他の提案された標識を配置する必要がありますか?

答え1

BASH_ENV設定されていないことを確認するだけです。次のINVOCATIONセクションでbash(1):

       Bashが非対話式で始まる場合は、次のシェルスクリプトを実行します。
       たとえば、環境でBASH_ENV変数を見つけて展開します。
       その値がそこに表示されたら、拡張値を名前として使用します。
       読み込んで実行するファイルです。 Bashは次のコマンドのように動作します。
       実行されました:
              if [-n "$BASH_ENV"]; "$BASH_ENV";
       ただし、PATH変数の値はファイル検索には使用されません。
       名前。

シェルがインタラクティブに起動したら、他のドットファイル(~/.bash_profileなど)を読みます。~/.bash_logout

残念ながら、スクリプトを使用しても環境を制御することはできません#!env(ただ1つの引数しか必要ありません。この場合はシェルプログラムbash)。あなたが望む最善の方法は、スクリプトやラッパーから環境を消去し、きれいな環境で始めることです。これはおそらくあなたが望むものではありません。

答え2

「man bash」を少し読んでみると大丈夫でしょう。

「INVOCATION」セクションで「」を見つけることができます。--構成ファイルなし「または」- 活力者「オプションが効果を発揮する必要があります。

関連情報