抱歉,如果问题非常简单,但我是 shell 脚本的新手。
我正在尝试写这样的东西:
for i in {1..20}
do
curl "something $i ........ -d 'something "$i" something' "
done
问题是第二个$i
单引号内的部分 '' 不会被替换。应该做什么才能让它发挥作用?
如上所述,单引号内的参数不会扩展,必须使用双引号。唯一的一点是,由于它出现在已经用双引号引起来的字符串中,因此必须使用反斜杠 (\
), 像这样:
$ foo=bar
$ eval "echo \"something \\\"$foo\\\"\""
something "bar"
请注意,有三个\
在最里面的之前"
,因为这将被扩展两次(一次在评估参数时eval
有一次在评估论证时echo
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)