シェルスクリプトで可変長を計算する方法は?

シェルスクリプトで可変長を計算する方法は?

可変長に応じて異なるコマンドを呼び出すシェルスクリプトを作成したいと思います。しかし、私はまだそれを理解していません。

動作しないスクリプトは次のとおりです。

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

気づく:

  • fordo ... done.
  • ifthen ... [elif; then] ... [else; then] ... fi.
  • 整数比較には(文字列の場合)代わりに-eq(等しい)が必要で、括弧(など)=内に作成されます。if [ "$var" -eq 2 ]

おすすめ記事