Próbuję dodać argumenty do wywołania polecenia zależne od innej zmiennej. Proszę spojrzeć na kod skryptu powłoki:
curl \
$([ -z "${title}" ] || echo --data-urlencode title=${title}) \
http://example.com
W tym przykładzie, jeśli nie title
zostanie podany null, zostanie dodany argument curl
.
To nie działa poprawnie, jeśli title
zawiera spacje. Również nie mogłem otoczyć $(...)
cytatami, ponieważ jeśli title
ma wartość null, otrzyma nieoczekiwany pusty argument curl
.
Co powinienem zrobić, aby działał zgodnie z oczekiwaniami.