Bash: facoltativamente passare argomenti a un comando


21

Sto cercando di aggiungere argomenti a una chiamata di comando dipende da un'altra variabile. Si prega di guardare il codice di script della shell:

curl \
  $([ -z "${title}" ] || echo --data-urlencode title=${title}) \
  http://example.com

Nell'esempio, se titleviene dato non nullo, verrà aggiunto un argomento curl.

Questo non funziona correttamente se titlecontiene spazi. Inoltre non potrei circondarmi $(...)di citazioni, perché se titleè nullo, produrrà un argomento vuoto inaspettato curl.

Cosa devo fare per farlo funzionare come previsto.

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.