在bash循环中执行时找到"未找到命令"

JNo*_*oob 1 bash command-line for-loop find

我正在尝试编写一个bash脚本来生成文件列表.我想我只是在循环中调用'find'.不幸的是,它在循环中产生了"find:command not found"错误,我不知道为什么.

为了简短起见,这个缩减版本复制了这个问题,而没有让我们陷入无关紧要的代码中.

#!/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
Run Code Online (Sandbox Code Playgroud)

在进行故障排除时,我添加了第一个'find'命令...添加后,它随后在循环中工作.如果我再次注释掉它,循环中的'find'将恢复抛出错误.

鉴于我要将循环输出重定向到文件,我可以使用额外的'find'命令,甚至只需重定向到null.但是,我是一个好奇的家伙,我真的想找到问题所在.

感谢您的任何意见.

Ign*_*ams 10

它是寻找find$PATH...,你的脚本已被破坏.