直接文件名加双引号 cp "a" 是能够执行的
实验如下:
代码: 全选
mkdir x
touch a
cp "a" ./x/
file="a"
echo $file
a
cp $file ./x/
file="\"a\""
echo $file
"a"
cp $file ./x/
代码: 全选
mkdir x
touch a
cp "a" ./x/
file="a"
echo $file
a
cp $file ./x/
file="\"a\""
echo $file
"a"
cp $file ./x/
代码: 全选
eval cp $file ./x/
什么意思?不会扩展完了再解释引号
这么说吧:cao627 写了:什么意思?不会扩展完了再解释引号
变量扩展(即处理$)之后,不再处理因扩展产生的引号。
是的。cao627 写了:shell 对变量扩展(即处理$)之后,不再处理(解释)扩展后的内容。