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 titlezostanie podany null, zostanie dodany argument curl.
To nie działa poprawnie, jeśli titlezawiera spacje. Również nie mogłem otoczyć $(...)cytatami, ponieważ jeśli titlema wartość null, otrzyma nieoczekiwany pusty argument curl.
Co powinienem zrobić, aby działał zgodnie z oczekiwaniami.