我想创建一个新目录,其中每个目录中都存在一个zip文件的名称,该目录在另一个目录中。为此,我编写了一个“ for循环”:
files=NL*.zip
for a in $files; do
b=echo $a;
sudo mkdir '/home/shokufeh/Desktop/normals/T1/"${b}"';
done
但是它在第一轮创建了一个名为$ {b}的目录,并在下一个目录中出错。您能告诉我该怎么办吗?
您将变量用简单的引号引起来,因此'$ {b}'永远不会被解释。试试这个:
for a in NL*.zip; do
sudo mkdir "/home/shokufeh/Desktop/normals/T1/${a}";
done
不需要变量$ files和$ b。
总而言之,假设var=3
,
echo "$var"
将显示3
echo '$var'
将显示$var
echo "'$var'"
将显示'3'
echo '"$var"'
将显示"$var"
希望这是有道理的。引号功能像括号和方括号。