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