(7 respuestas)
Cerrado hace 3 años.
Tengo un script como el siguiente:
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
La única diferencia entre flag
siendo true
o false
hace es que pipe_command_b
no se puede ejecutar. ¿Hay alguna manera de colapsar esto para que no tenga que repetir todas las cosas comunes?
Respuesta aceptada:
Usa cat
en lugar del comando si desea omitirlo:
command=cat
if [[ $flag == true ]] ; then
command=pipe_command_b
fi
command \
| pipe_command_a \
| $command \
| pipe_command_c