我需要制作一些作者姓名的目录。单独做时很容易。我可以简单地
mkdir "Mario Luis Garcia"
这将创建一个名为“Mario Luis Garcia”的目录
但是当我尝试使用 shell 脚本进行大规模操作时,我失败了。
for i in "Mario Luis Garcia" "etc.";
do
mkdir $i
done;
这将创建 4 个单独的目录而不是 2 个。我尝试使用{}
,()
将引用的文本括起来。不起作用。
怎么做?
答案1
您需要用双引号引用变量扩展:
mkdir "$i"
(使用单引号'$i'
将创建一个名为 的目录$i
)
如果名称可以以 开头-
,您还应该--
在最后一个选项参数之后添加,表明所有其他参数都不是选项,这意味着在这种情况下它们是目录名称:
mkdir -- "$i"
或者,使用选项-v
(详细)例如:
mkdir -v -- "$i"