![정규 표현식과 일치하지 않습니다.](https://linux55.com/image/20631/%EC%A0%95%EA%B7%9C%20%ED%91%9C%ED%98%84%EC%8B%9D%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
사용자 정의 JBoss를 설치하는 Bash 스크립트가 있습니다. JBoss 인스턴스 이름을 정규 표현식과 비교하여 유효한 이름인지 확인하세요.
if [[ ! $1 =~ $instanceNameRegex ]]; then
exit 1
fi
이제 두 번째 유효한 정규식이 필요합니다. 즉, 이름은 $instanceNameRegex
또는 와 일치해야 합니다 $secondInstanceNameRegex
.
if
테스트에서 어떻게 이를 달성할 수 있나요 ? 나는 이것을 찾고 있지만 작동시킬 수 없습니다.
if [[ [ ! $1 =~ $instanceNameRegex ] -a [ ! $1 =~ $secondInstanceNameRegex ] ]]; then
즉, 인수가 첫 번째 정규식과 일치하지 않고 두 번째 정규식과 일치하지 않으면 종료됩니다.
답변1
넌 할 수있어
if [[ ! $1 =~ $instanceNameRegex && ! $1 =~ $secondInstanceNameRegex ]]; then
나는 다음을 사용할 것이다:
if [[ ! ( $1 =~ $instanceNameRegex || $1 =~ $secondInstanceNameRegex ) ]]; then
답변2
이것은 당신에게 도움이 될 수 있습니다:
if [[ ! $1 =~ "${instanceNameRegex}|${secondInstanceNameRegex}" ]]; then