나는 호환성 이유로 bash 스크립트를 대쉬로 옮길 것이다. 다음 비교에 POSIX/Dash 대안이 있습니까?대시에서 문자열을 정규 표현식으로 비교하는 방법은 무엇입니까?
COMPARE_TO="^(lp:~?|https?://|svn://|svn\+ssh://|bzr://|bzr\+ssh://|git://|ssh://)"
if [[ $COMPARE =~ $COMPARE_TO ]]; then
echo "WE ARE COMPARED!"
fi
'echo' (. 그 나는 두 번째 셸에서 대문자 변수에 대한 geirha의 참고 @ 참고) 이런 종류의 문맥에서는 항상 무서운 것입니다. '사례'답변은 관용적이고 우아하며 외부 프로세스없이 문제를 완전히 해결합니다. – tripleee
@ tripleee :'case' 문법은 매우 우아하지 않다고 생각하지만, 좀 더 관용적이며 서브 프로세스를 절약 할 수 있다고 동의합니다. (정규 표현식이 아닌 glob으로 패턴을 표현할 수 있다면이 특별한 경우에 가능합니다.) BTW, 에코가 걱정된다면 대신'printf "% s \ n" "$ compare"'를 사용하십시오. –