Ubuntu 18.04 LTS(Bionic Beaver)でBashシェルを使用しています。ユーザーが後続のターミナルインスタンスでその変数を使用して特定の機能の詳細度を設定するために使用できるbashで環境変数を定義できるようにしたいと思います。
これらの機能を有効または無効にするには、ユーザーは何をすべきですか?要点は、ユーザーが.bashrc
直接変更することなく環境変数機能を有効または無効にできることです。これらの設定は、その機能を必要とする特定のユーザーのみを使用してください。
ベストアンサー1
変数を設定するには、変数を設定するだけです。たとえば、次のように変数を設定するかどうかに応じて動作を変更するシェル関数があるとします。
check_verbosity(){
if [ -n "$VERBOSE" ]; then
echo "Am I verbose? Why yes, indeed I am, my friend!"
else
echo "no"
fi
}
その後、それに応じて変数を設定して動作を変更できます。たとえば、
$ check_verbosity
no
$ VERBOSE=yes
$ check_verbosity
Am I verbose? Why yes, indeed I am, my friend!
コマンドの実行中に関数を定義して、関数の特定のインスタンスの変数を設定することもできます。
$ VERBOSE=yes check_verbosity
Am I verbose? Why yes, indeed I am, my friend!
$ check_verbosity
no
したがって、この変数が必要な関数とスクリプトを作成すると、各ユーザーは必要に応じて自由に設定できます。変更を永続的に適用するには、それをファイルに追加するか~/.profile
(~/.bash_profile
存在する場合)、ファイルに追加して常に設定します。
export VERBOSE=yes
実行環境で設定または設定されていない変数にプログラムが反応するという考えは、比較的一般的な慣用語です。例えば(等)にls
反応LS_COLORS
して反応します。多くのページには、プログラムが反応するように作成された環境変数を説明するセクション(通常は終わり)があることがわかります。grep
GREP_COLORS
man
ENVIRONMENT