【发布时间】:2014-01-31 00:53:47
【问题描述】:
我目前正在编写一个 bash 脚本,其中的一部分需要能够查看一堆目录层次结构并吐出两个文本文件,每个文件分别包含目录列表和所有文件,在给定目录。
据我了解,以下应该可以解决问题:
find $directory -type d >> alldirs.txt
其中目录被分配了不同的目录路径名,因为我应该检查其中的一些。
我有一个 for 循环遍历我的目录列表并使用上述函数来完成我的任务。上面的命令到达某个点然后卡住了。当我调查这个问题时,它似乎会进入一个空的目录,然后卡住。或者它实际上会开始寻找一开始不存在的目录,然后它就会卡住。有什么想法吗?
我有什么遗漏吗?或者我是否理解它是如何工作不正确的?有更好的选择吗?
【问题讨论】:
-
由于它“陷入循环”,我认为发布实际的循环代码会有很大帮助。
-
我更新了我的问题。我检查了我的循环,它不是循环本身,而是特别是 find 命令。我在单个目录层次结构(在 for 循环之外)上进行了尝试,但遇到了同样的问题
-
是否有东西挂载在卡住的目录中?像 FUSE fs 或网络目录?
-
我不知道。虽然我正在查看一个以只读方式安装的文件系统的目录之一
-
在特定情况下不要认为这是您的问题,但您应该引用
"$directory"以防止将来出现问题。
标签: bash