【发布时间】:2020-04-30 14:24:00
【问题描述】:
我想使用当前存在于特定目录中的每个 zip 文件的名称创建一个新目录,在另一个目录中。为此,我编写了一个“for 循环”:
files=NL*.zip
for a in $files; do
b=echo $a;
sudo mkdir '/home/shokufeh/Desktop/normals/T1/"${b}"';
done
但它会为第一轮创建一个名为 ${b} 的目录,并为下一轮创建错误。 你能告诉我我该怎么做吗?
【问题讨论】:
-
b=echo $a;根本没有做任何有用的事情。你可能在想b=$(echo $a)之类的东西,但你也不想这样。b=$a基本上做同样的事情,没有潜在的解析错误。但是为什么要使用第二个变量,而不是直接使用$a? -
@Cyrus 谢谢
-
@GordonDavisson 谢谢
-
@shs :命令
b=echo $a将临时将变量b设置为值echo,然后尝试将$a作为命令运行;所以你应该从这一行得到一条错误消息。既然你没有提到这一点,我猜你没有完全按照你写的那样粘贴代码。