여러 줄 문자열이 표현식과 일치하는지 확인

여러 줄 문자열이 표현식과 일치하는지 확인

나는 이것을 가지고있다:

declare_result=$(declare -f cd);

축어적으로 생성:

cd () 
{ 
    prev_cd "$@";
    echo "botch cd hook invoked.";
    run_botch
}

$declare_result가 "run_botch"와 일치하는지 확인하는 방법은 무엇입니까?

그렇게 간단하지 않나요?

if [[ "$declare_result" == *"run_botch"* ]];

여러 줄 문자열에서 작동하지 않으면 어떻게 되나요? 내 주요 관심사는 개행으로 구분된 문자열에서는 작동하지 않는다는 것입니다.

답변1

귀하의 예가 잘 작동합니다. bash삽입된 개행 문자가 포함된 문자열과 일치하는 데 문제가 없습니다.

이와 같은 패턴을 사용하면 *$'run_botch\n'*string 다음에 개행 문자를 일치시킬 수도 있습니다 run_botch.

관련 정보