![BASH [-_]에서 문자열을 구문 분석하는 중입니다.](https://linux55.com/image/155012/BASH%20%5B-_%5D%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EA%B5%AC%EB%AC%B8%20%EB%B6%84%EC%84%9D%ED%95%98%EB%8A%94%20%EC%A4%91%EC%9E%85%EB%8B%88%EB%8B%A4..png)
사용자가 작업 이름을 지정할 수 있는 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