シェルスクリプト( #!/bin/sh )を使用するのはこれが初めてで、チュートリアルなどを読んで作業を進めてきましたが、キーの値の読み取りと書き込みに固執しています..
フォームの構成ファイルからキー=値のペアを読み込もうとしています
key1_begin=abc
key1_end=def
key2_begin=123
key2_end=jkl
.. and so on
ユーザーに次のようなスクリプトにパラメーターを渡してもらいたい
something.sh 1 x y z
ここで、最初のパラメーターは、適切なキーを変更するために使用される として機能します。したがって、ディレクトリが存在し、ファイルが存在することを確認した後、次を使用してソースを取得します
source config.cfg
次に、ID=$1 を使用して ID を保存し、次を使用してキーにアクセスします。
echo key${ID}_begin
したがって、キーの値を取得するための読み取りは次のようになります
echo key${ID}_begin = $[key${ID}_begin]
ここで、「 key1_begin = abc 」を取得することを期待していますが、代わりに「 key1_begin = 0 」を取得し続けます。ただし、同じコマンドが数値に対しても機能するようです。たとえば、このコマンドを ID 2 で使用すると、「 key2_begin = 123 」となります。
なぜこれが数字ではうまくいくのにアルファベットではうまくいかないのか、誰かが私を正しい方向に向けてくれませんか?
そして、変数の値を変更するには何を使用しますか? 現在「eval」を使用していますが、これも数値でのみ機能するようです
[ ! -z $2 ] && eval key${ID}_end=$3
これに関するアドバイスや指針をいただければ幸いです。\
ありがとうございました