Bash: opsional memberikan argumen ke perintah


21

Saya mencoba menambahkan argumen ke panggilan perintah tergantung pada variabel lain. Silakan lihat kode skrip shell:

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

Dalam contoh, jika titlediberikan bukan nol, argumen akan ditambahkan curl.

Ini tidak berfungsi dengan benar jika titlemengandung spasi. Juga saya tidak bisa dikelilingi $(...)dengan kutipan, karena jika titlenol, itu akan menghasilkan argumen kosong yang tidak terduga curl.

Apa yang harus saya lakukan untuk membuatnya berfungsi seperti yang diharapkan.

Jawaban:


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.