Powiedzmy, że mam skrypt wykonujący:
some-command "$var1" "$var2" ...
A w przypadku var1
pustego wolałbym, aby zamiast pustego łańcucha zastąpić go niczym, aby polecenie zostało wykonane:
some-command "$var2" ...
i nie:
some-command '' "$var2" ...
Czy istnieje prostszy sposób niż testowanie zmiennej i warunkowe włączenie jej?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
Czy istnieje podstawienie parametru, które nie może rozwinąć się w nic w bash, zsh itp.? Nadal mógłbym chcieć użyć globowania w pozostałych argumentach, więc wyłączenie tego i cofnięcie cytowania zmiennej nie jest opcją.
man
strony? (-;