Angenommen, ich habe ein Skript:
some-command "$var1" "$var2" ...
Und für den Fall, dass var1
es leer ist, würde ich es vorziehen, es durch nichts anstelle der leeren Zeichenfolge zu ersetzen, so dass der ausgeführte Befehl lautet:
some-command "$var2" ...
und nicht:
some-command '' "$var2" ...
Gibt es einen einfacheren Weg, als die Variable zu testen und bedingt einzuschließen?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
Gibt es eine Parametersubstitution, die in bash, zsh oder dergleichen zu nichts erweitert werden kann? Möglicherweise möchte ich in den restlichen Argumenten immer noch Globbing verwenden. Das Deaktivieren und Aufheben der Anführungszeichen für die Variable ist daher keine Option.
man
Seite nicht gelesen? (-;