次のスクリプトがあります。
flag=false
# Do a bunch of stuff that might set flag to true.
if [[ "$flag" == "true" ]]; then
command \
| pipe_command_a \
| pipe_command_b \
| pipe_command_c \
| pipe_command_d \
> "${output_path}"
else
command \
| pipe_command_a \
| pipe_command_c \
| pipe_command_d \
> "${output_path}"
fi
flag
存在するものと作成することのtrue
唯一の違いは、それが実行されない可能性があることfalse
です。pipe_command_b
一般的なことをすべて繰り返す必要がないように縮小する方法はありますか?
答え1
スキップするには、cat
代わりに次のコマンドを使用します。
command=cat
if [[ $flag == true ]] ; then
command=pipe_command_b
fi
command \
| pipe_command_a \
| $command \
| pipe_command_c