変数の読み取りの長さを確認する必要があります(スクリプトの挿入文字数は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インタラクティブな使用を目的とした機能を備えていない、ダッシュのようなより軽量なシェルである可能性があります。