Nói rằng tôi có một kịch bản đang làm:
some-command "$var1" "$var2" ...
Và, trong trường hợp var1
trống, tôi muốn thay thế nó bằng không có gì thay vì chuỗi rỗng, để lệnh được thực thi là:
some-command "$var2" ...
và không:
some-command '' "$var2" ...
Có cách nào đơn giản hơn là kiểm tra biến và có điều kiện bao gồm nó không?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
Có một sự thay thế tham số hơn có thể mở rộng thành không có gì trong bash, zsh, hoặc tương tự? Tôi vẫn có thể muốn sử dụng Globing trong phần còn lại của các đối số, vì vậy, vô hiệu hóa điều đó và bỏ qua biến không phải là một tùy chọn.
man
trang? (-;