スクリプトを実行するたびに変数名を変更する必要があります。変数があるとしましょう。
a="foo"
echo "Value is : $a"
それは印刷されます
Value is foo
しかし、同じスクリプトで変数の値を変更しています。
a="bar"
スクリプトを再実行すると印刷されます。
Value is bar
Unixでこれを達成できますか?
ベストアンサー1
この行は$a="bar"
エラーメッセージを表示します。
bash: foo=bar: command not found
a
文字列に設定するには、をbar
使用しますa="bar"
。$a
値変数a
は$a="bar"
意味がありません。
スクリプトを実行するたびに値を変更するには、少なくとも2つのことを実行できます。
a
環境変数を作成します。これはa
スクリプトの外部で設定したことを意味しますexport
。export a="bar"
a
その後、通常どおりスクリプトを実行します(まず、環境から継承された値を上書きしないように変更する必要があります)。また、使用することができますa="bar" ./myscript.sh
スクリプトに対してのみ変数を設定します(つまり、呼び出しシェルでは変数にはなりません)。
スクリプトがコマンドラインから値を取得できるようにして、次のようにスクリプトを呼び出します。
./myscript.sh "bar"
これでスクリプトが実行されます。
a="$1"
a
コマンドラインパラメータで値を設定します。ここでは、$1
「最初のコマンドライン引数」を意味します。
どの方法を使用しても、値が次のようになることを"$a"
確認したい場合があります。合理的な(つまり、有効なデータを含む)使用する前に。