我正在尝试编写一个bash脚本来生成文件列表。我想我可以简单地在一个循环中调用'find‘。不幸的是,它在循环中产生了一个"find: command not find“错误,我不知道为什么。
简而言之,这个精简版本复制了这个问题,而不会让我们陷入不相关的代码中。
#!/bin/bash
IFSprev=$IFS
IFS=$'|'
PATHS='openvpn|vms'
SOURCE='/mnt/store/'
#find "${SOURCE}vms" -type f
for PATH in ${PATHS}
do
echo -----------------------------------
find "${SOURCE}${PATH}" -type f
done
IFS=$IFSprev
在排除故障时,我添加了第一个'find‘命令...添加了这些内容后,它随后在循环中工作。如果我再次将其注释掉,循环中的“find”将恢复为抛出错误。
如果我要将循环输出重定向到一个文件,我可以接受额外的'find‘命令,甚至可以直接重定向到null。然而,我是一个好奇心很强的人,我真的想找出问题出在哪里。
感谢您的任何意见。
发布于 2017-02-19 00:22:41
它在$PATH
中寻找find
...而你的脚本已经毁了它。
https://stackoverflow.com/questions/42322202
复制相似问题