動的変数を作成しました。
for (( c=1; c<=2; c++ ))
do
eval "prev$c=$number";
done
prev1
、prev2
for (( c=1; c<=2; c++ ))
do
eval "current$c=$number";
done
current1
、current2
変数があれば
$prev1
はい1
$prev2
はいはい2
$current1
1
$current2
3
ループ内のケースと比較するには?以下は間違った内容です。誰かが構文を変更できますか?よろしくお願いします。
for (( c=1; c<=2; c++ ))
do
if ((prev$i != current$i)); then
echo "prev$i is $prev[i] and current$i is $current[i], they are different"
fi
done
ベストアンサー1
Bashでは変数間接参照を使用できます
prev=prev$c
current=current$c
if ((${!prev} != ${!current})); then
echo "prev$c is ${!prev} and current$c is ${!current}, they are different"
fi
ただし、配列を使用する方が安全です(評価は不要)。
#! /bin/bash
number=0
for (( c=1; c<=2; c++ )) ; do
prev[c]=$number
number=$c
current[c]=$number
if ((${prev[c]} != ${current[c]})); then
echo "prev$c is ${prev[c]} and current$c is ${current[c]}, they are different"
fi
done