私の現在のスクリプトは次のことを行います。
コマンドライン引数として整数を取り、1からNで始まり、数値が3、5、またはその両方で割り切れるかどうかをチェックします。Ucを3、Besを5、UcBesを3,5と出力するだけです。コマンドライン引数が空の場合、同じ操作を実行しますが、ループは1から20になります。
「11、15、19行目の引数が多すぎます」というエラーが発生します。
コードは次のとおりです。
#!/bin/bash
if [ ! -z $1 ]; then
for i in `seq 1 $1`
do
if [ [$i % 3] -eq 0 ]; then
echo "Uc"
elif [ i % 5 -eq 0 ]; then
echo "Bes"
elif [ i % 3 -eq 0 ] && [ i % 5 -eq 0 ]
then
echo "UcBes"
else
echo "$i"
fi
done
elif [ -z $1 ]
then
for i in {1..20}
do
if [ i % 3 -eq 0 ]
then
echo "Uc"
elif [ i % 5 -eq 0 ]
then
echo "Bes"
elif [ i % 3 -eq 0 ] && [ i % 5 -eq 0 ]
then
echo "UcBes"
else
echo "$i"
fi
done
else
echo "heheheh"
fi