1
配列の値を更新するwhileループを作成しようとしていますが、コマンドが見つかりませんでした。ループを更新する1行whileループ
i=1
bool=true
declare -a LFT
declare -a RGT
while read -r line; do
${LFT[$i]}=${line:0:1}; ${RGT[$i]}=$(wc -l < temp$i.txt);
if [ ${LFT[$i]} -ne ${RGT[$i]} ]; then
$bool=false;
fi;
((i=i+1));
done<output2.txt
私が読んでいるファイルには、各行に1桁の数字が含まれていて、それぞれの桁が数字の配列LFTを入力したいと思います。配列RGTには、temp * .txtというファイルの行数が格納されます。そして、これら2つの配列の各エントリが同じであることを確認するためにテストしたいと思います。
しかし、私はエラーが発生し続けます。command =#not found、#はファイル内の行にある数字です。値を配列に間違って割り当てていますか?また、私はエラーを取得します:コマンドの真= falseが見つかりません。私はこれがブール値に値を割り当てることと関係があると仮定しています。 おかげ
うわー、それはそう簡単な修正でした。ありがとうございます –
問題がどこにあるのかを知るためのデバッグの方法はありますか、経験から知っていますか? –
これらの事のいくつかは練習に伴います。しかし、あなたはいつでもhttp://www.shellcheck.net/を通してコードを渡すことができます - それはすばらしいツールです。そしてSOは、他の多くのものの中で、Bashについて学ぶ素晴らしい場所です。 – codeforester