BASHで[ - _ ]の文字列を解析しようとしています

BASHで[ - _ ]の文字列を解析しようとしています

ユーザーがジョブ名を指定できるようにする BASH スクリプトがあります。現在はすべてを受け入れています。このジョブ名を、次の形式のみを受け入れることができる別の実行ファイルに入力します。

job_name、jobname、job-name、job_name1、job-name1、jobname1、job_name[1-5] job-name[1-5] または jobname[1-5] または、英数字 (大文字と小文字が区別されます) と [、]、_、- の組み合わせ

名前をトラップし、その形式に従わないものを拒否する方法を探しています。if ステートメントで正規表現を使用しようとしましたが、[] が私を困惑させているようです。

答え1

if [[ $1 =~ [']_-['] ]]; then
   echo "I have the Square Braces"
fi

関連情報