Скажем, у меня есть сценарий:
some-command "$var1" "$var2" ...
И, в случае, если var1
это пусто, я бы предпочел, чтобы он был заменен ничем вместо пустой строки, чтобы выполняемая команда была:
some-command "$var2" ...
и нет:
some-command '' "$var2" ...
Есть ли более простой способ, чем тестирование переменной и ее условное включение?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
Есть ли подстановка параметров, которая может расширяться до нуля в bash, zsh и т. П.? Я мог бы все еще хотеть использовать globbing в остальных аргументах, поэтому отключение этого и снятие кавычек с переменной не вариант.
man
странице? (-;