カスタム環境変数

カスタム環境変数

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して反応します。多くのページには、プログラムが反応するように作成された環境変数を説明するセクション(通常は終わり)があることがわかります。grepGREP_COLORSmanENVIRONMENT

おすすめ記事