【发布时间】:2019-02-20 18:59:05
【问题描述】:
我正在使用以下脚本来遍历文件夹结构,但是跳过了包含中间空间的文件夹。
for i in $(echo $File_Directory | sed "s/\// /g")
do
if [ -d $i ]
then
echo "$i directory exists."
else
echo "Creating directory $i"
`mkdir $i`
fi
done
感谢您对此的帮助..
【问题讨论】:
-
不清楚您要完成什么。为什么要用空格替换路径分隔符(
/)?你为什么打电话给mkdir?$File_Directory的内容是什么,你希望循环的每次迭代到底做什么? -
如果您打算创建缺少的目录,您可以改用
mkdir -p "$path"- 它会创建缺少的目录。 -
此外,
`mkdir $i`将获取mkdir $i的输出并尝试将其作为命令运行。 -
这个脚本不像
mkdir -p,因为它试图在当前目录中创建所有组件目录——没有层次结构 -
@glennjackman 是的,但这是故意的,还是显示代码中的另一个错误?