Use cat
em vez do comando se você quiser ignorá-lo:
command=cat
if [[ $flag == true ]] ; then
command=pipe_command_b
fi
command \
| pipe_command_a \
| $command \
| pipe_command_c
Eu tenho um script como o seguinte:
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
A única diferença entre flag
sendo true
ou false
é que pipe_command_b
pode não ser executado. Existe uma maneira de reduzir isso para que eu não precise repetir todas as coisas comuns?
Tags bash shell-script