![Versuch, einen String in BASH nach [ - _ ] zu analysieren](https://rvso.com/image/155012/Versuch%2C%20einen%20String%20in%20BASH%20nach%20%5B%20-%20_%20%5D%20zu%20analysieren.png)
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