ばかげた問題のためにばかげた質問があります。
通常、UNIXシェルで環境変数の内容を取得したい場合は、次のことができます。
_echo ${VAR}
_
私のばかげた状況のため、これは不可能だと仮定しましょう。
環境変数の内容を標準出力に取得するには、出力自体ではなくコマンド自体を見ている人がいなくても、環境変数の値を確認できます。
echo env(NAME_OF_VAR)
のようなソリューションであることは想像できますが、見つけられないようです。ソリューションはshで動作する必要があります。
PS私はこのためのスクリプトを書くことができません、それはunixコマンドに組み込まれている必要があります(私は知っている、ばかげた問題)
ありがとう(不条理でごめんなさい)
できるよ:
printenv VARIABLE_NAME
ターミナルで次のコマンドを入力すると、環境変数のすべてのリストが表示されます
printenv
次のように必要な変数を出力します。
echo $ VARIABLENAME
次のような意味ですか?
ENV() {
printf 'echo $%s\n' $1 | sh
}
これは、プレーンな古いBourne Shellで機能します。
これはどう:
myVariable=$(env | grep VARIABLE_NAME | grep -oe '[^=]*$');
${!VAR_NAME}
の使用は、あなたが探しているものでなければなりません
> FOO=BAR123
> VAR_NAME=FOO
> echo ${VAR_NAME}
FOO
> echo ${!VAR_NAME}
BAR123
解決策は、単純な$VAR
。たぶん、制限のないシェルを呼び出して、このサブシェルに変数を評価させることができます:
bash -c 'echo $VAR'
( set -o posix ; set ) | grep $var
使用されているすべてのUNIX互換フォーマット変数を検索します