(7 Antworten)
Vor 3 Jahren geschlossen.
Ich habe ein Skript wie das folgende:
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
Der einzige Unterschied zwischen flag
true
sein oder false
macht ist das pipe_command_b
dürfen nicht ausgeführt werden. Gibt es eine Möglichkeit, dies zu reduzieren, sodass ich nicht alle üblichen Dinge wiederholen muss?
Akzeptierte Antwort:
Verwenden Sie cat
anstelle des Befehls, wenn Sie ihn überspringen möchten:
command=cat
if [[ $flag == true ]] ; then
command=pipe_command_b
fi
command \
| pipe_command_a \
| $command \
| pipe_command_c