如何在printf字符串中使用破折号?
x=xxx
printf -v args "-x=%s" "$x"
printf "$var"
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误:
./tmp.sh: line 2: printf: -x: invalid option
printf: usage: printf [-v var] format [arguments]
Run Code Online (Sandbox Code Playgroud)
我知道这是因为printf解释-x为一种选择,但如何克服它?
我printf用来创建一个字符串,该字符串将对应于命令行参数,如-x=xxx -y=yyy -z=zzz. 然后我想调用一个工具
eval $tool args
printf支持传统的选项结束参数--:
$ printf -- '-x\n'
-x
Run Code Online (Sandbox Code Playgroud)