Versuch, einen String in BASH nach [ - _ ] zu analysieren

Versuch, einen String in BASH nach [ - _ ] zu analysieren

Ich habe ein BASH-Skript, mit dem ein Benutzer einen Jobnamen angeben kann. Im Moment akzeptieren wir alles. Wir geben diesen Jobnamen in eine andere ausführbare Datei ein, die nur die folgenden Formate akzeptieren kann:

job_name, jobname, job-name, job_name1, job-name1, jobname1, job_name[1-5] job-name[1-5] oder jobname[1-5] oder andere Permutationen, die alphanumerisch (Groß-/Kleinschreibung beachten) und [, ], _, - sind

Ich suche nach einer Möglichkeit, den Namen abzufangen und alles abzulehnen, was nicht diesem Format entspricht. Ich habe versucht, den regulären Ausdruck mit der if-Anweisung zu verwenden, aber die [] scheinen mich aus der Bahn zu werfen.

Antwort1

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

verwandte Informationen