bash スクリプトで特定のコマンドを実行しないようにする必要があります。
そのために preexec トラップを使用することを考えました。
axampleのためだけにコマンド「source」を避けたいとしましょう。私がやったことは基本的に次のとおりです。
#!/bin/bash
function preexec ()
{
if test $( echo "$BASH_COMMAND" | cut -d " " -f1 ) == "source"
then
echo ">>> do not execute this"
else
echo ">>> execute this"
fi
}
trap 'preexec' DEBUG
echo "start"
source "source.sh"
echo "go on"
exit 0
アイデアはうまくいきますが、この時点では、上記のコマンドの実行を回避する方法がわかりません。
これを解決する方法はありますか?