我有一个bash shell脚本,其中有一行代码:
g=$(/bin/printf ${i})
当${i}
包含类似于-6
的内容时,printf
会认为它正在传递一个选项。由于无法识别该选项,因此会产生错误。
如果将${i}
用引号括起来,printf
仍然会认为它正在传递一个选项。
g=$(/bin/printf "${i}")
如果我转义引号,变量$g
将会保存"-6
",这也不是我想要的。
g=$(/bin/printf \"${i}\")
有没有办法在文本中避免破折号(-)的出现。
printf是一个BusyBox应用程序。
busybox printf -- -6
在busybox 1.27.2中输出“-6”。 - Jack Lloyd