3

文字列が英数字で、特定の値 (たとえば 10) より短いかどうかを調べたい場合は、次のようにします (BASH + GREP で):

if grep '^[0-9a-zA-Z]\{1,10\}$' <<<$1 ; then ...

(ところで: $1、つまり最初の引数をチェックしています)

値 10 を変数に書き込みたい場合はどうすればよいですか。

UUID_LEN=10
if grep '^[0-9a-zA-Z]\{1,$UUID_LEN\}$' <<<$1 ; then ...

あらゆる種類のエスケープ、ブレースなどを試しましたが、エラー メッセージを回避できませんでした

grep: Invalid content of \{\}

グーグルでbashとgrepのチュートリアルを読んだ後、私はそれができないと確信しています。私が間違っている?これを回避する方法はありますか?

4

1 に答える 1