Bash: tùy ý chuyển các đối số cho một lệnh


21

Tôi đang cố gắng thêm đối số vào một lệnh gọi phụ thuộc vào một biến khác. Vui lòng xem mã script shell:

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

Trong ví dụ này, nếu titleđược đưa ra không null, một đối số sẽ được thêm vào curl.

Điều này không hoạt động chính xác nếu titlechứa không gian. Ngoài ra tôi không thể bao quanh $(...)với các trích dẫn, bởi vì nếu titlelà null, nó sẽ mang lại một đối số trống bất ngờ cho curl.

Tôi nên làm gì để làm cho nó hoạt động như mong đợi.

Câu trả lời:


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.