変数の読み取りの長さを確認する必要があります(スクリプトの挿入文字数は5文字に制限されています)。次のように考えます。
#!/bin/bash
read string
check=${#string}
echo $check
if [ $check -ge 5 ]; then echo "error" ; exit
else echo "done"
fi
より「エレガントな」ソリューションはありますか?
@Celada、この場合は真ですが、
—
ステファンシャゼラス
dash
's ${#string}
は文字ではなくバイト数で長さを示します。
/bin/sh
。#!/bin/sh
移植性を高め、bashが利用できない環境で実行されるように、shebang行を変更することを検討する必要があります。さらに、/bin/sh
インタラクティブな使用を目的とした機能を備えていない、ダッシュのようなより軽量なシェルである可能性があります。