複数行の文字列が式と一致することを確認する

複数行の文字列が式と一致することを確認する

私はこれを持っています:

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'*後に改行文字を一致させることもできますrun_botch

関連情報