Sho*_* Ya 30 bash shell-script command-line-arguments bash-scripting
我正在尝试向依赖于另一个变量的命令调用添加参数。请看shell脚本代码:
curl \
$([ -z "${title}" ] || echo --data-urlencode title=${title}) \
http://example.com
Run Code Online (Sandbox Code Playgroud)
在这个例子中,如果title
给定的不是 null,一个参数将被添加到curl
.
如果title
包含空格,这将无法正常工作。我也不$(...)
能用引号括起来,因为如果title
为空,它会产生一个意想不到的空参数curl
。
我应该怎么做才能让它按预期工作。
Sho*_* Ya 39
我已经用 bash${var:+...}
语法解决了这个问题,(参考)。
脚本现在更改为
curl \
${title:+ --data-urlencode "title=${title}"} \
http://example.com
Run Code Online (Sandbox Code Playgroud)
这完美地工作。
另见:
归档时间: |
|
查看次数: |
8203 次 |
最近记录: |