私は新しい概念、つまりbashスクリプトの連想配列に苦労してきました。
これが私のコードの簡略化されたバージョンです:
#!/bin/bash
declare -A MYID
MYID[hello]=world
tac /home/user/filename | while read -r line; do
MYID[hello]=me
done
echo "${MYID[hello]}"
exit
これは私がやろうと思ったことです:1)MYIDと呼ばれる連想配列を宣言します2)MYIDで値worldをキーhelloに割り当てます3)ファイル/ home / user / filenameを1行ずつ逆方向に読み取ります4)読み取るたびにMYID配列のキーhelloに私を割り当てる行5)「me」を出力して終了します
それがすることは、「私」の代わりに「世界」を印刷することです。私は何が間違っているのですか?