
可変長に応じて異なるコマンドを呼び出すシェルスクリプトを作成したいと思います。しかし、私はまだそれを理解していません。
動作しないスクリプトは次のとおりです。
for i in n5 n25
if ${#i} == 2;
then
do
python two.py n5
elif ${#i} == 3;
do
python three.py n25
fi
シェルスクリプトで可変長を計算する方法は?
答え1
次のことができます。
for i in n5 n25
do
if [ ${#i} -eq 2 ]; then
python two.py n5
elif [ ${#i} -eq 3 ]; then
python three.py n25
fi
done
気づく:
for
do ... done
.if
then ... [elif; then] ... [else; then] ... fi
.- 整数比較には(文字列の場合)代わりに
-eq
(等しい)が必要で、括弧(など)=
内に作成されます。if [ "$var" -eq 2 ]