나는 이것을 가지고있다:
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
.