特定のファイルが存在する場合に条件付きで実行する必要があるbashスクリプトに取り組んでいます。これは複数回発生しているため、次の関数を抽象化しました。
function conditional-do {
if [ -f $1 ]
then
echo "Doing stuff"
$2
else
echo "File doesn't exist!"
end
}
さて、これを実行したいときは、次のようにします。
function exec-stuff {
echo "do some command"
echo "do another command"
}
conditional-do /path/to/file exec-stuff
問題は、実行するコマンドのグループの関数と、最初の関数を呼び出すという2つのことを定義していることに悩まされていることです。
このコマンドブロック(多くの場合2つ以上)をクリーンな方法で「条件付き実行」に直接渡したいのですが、これがどのように実行可能か(または可能かどうか)わかりません...誰かが持っていますか何か案は?
注意してください、私はそれが読みやすい解決策である必要があります...そうでなければ私はむしろ私が持っているものに固執したいと思います。