我运行需要像这样围绕一个多部分命令双引号一个简单的bash脚本文件名:使用带引号的bash变量,忽略了引号
for i in /data/*; do
mycommand "first_directive ; second_directive $i"
done
要处理特殊字符,我把引号将变量,因此它看起来像这样: "first_directive ; second_directive '$i'"
它的作用大部分,但我发现了一个边缘情况。
当文件名中包含两个单引号,如there_are_12''_in_a_foot
它忽略了''
,只是寻找there_are_12_in_a_foot
这里是data
文件夹的内容:
$ ls /data/
what_do_they_call_a_quarter_pounder
they_use_the_metric_system
there_are_12''_in_a_foot
我已经试过各种组合我能想到的引号,当然还有搜索,但是我找不到任何有用的东西。
'variable'的值有引号?更改变量名称以使代码易于理解 – Inian
我认为您所做的是正确的,在此无需更改。问题可能在于你正在调用的'mycommand'脚本。请提供具体的细节。 – Anubis