[ - _ ]에 대해 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

관련 정보