私はLinuxを初めて使用するので、ここで使用されている誤った用語を理解してください。
Ubuntu 18.04を使用しています。シェルスクリプトからテキストを読み取るコマンドを使用していますread
。その読み取りコマンドで置き換えたい bash ウィンドウに変数があります。私のシェルスクリプトは次のとおりです。
echo "Enter Text"
read text
echo "Text is $text"
その後、端末で次のように実行します。
user@machine:~$ var="hello world"
user@machine:~$ ./script.sh
Enter text
$var
Text is $var
user@machine:~$
出力で次の行を確認してください。Text is $var
..変数の値を読み取り、変数名にvar
保存するにはどうすればよいですか?hello world
text
注:パラメータをスクリプトに渡すオプションがあることはわかっていますが、スクリプトを実行しているユーザーにとっては、このオプションがより直感的であるため、これを行う方法を知りたいです。
ベストアンサー1
これは…間接的な構文は、${!reference}
変数名の変数値を変更することですreference
。たとえば、
name='Jane Doe'
reference='name'
$ echo "${!reference}"
Jane Doe