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

관련 정보