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

时间:2017-02-19 00:18:52

标签: bash for-loop command-line find

我试图编写一个bash脚本来生成文件列表。我想我只是打电话找到'在一个循环中。不幸的是,它生成了一个" 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'命令甚至只是重定向到null。但是,我是一个好奇的家伙,我真的想找到问题所在。

感谢您的任何意见。

1 个答案:

答案 0 :(得分:8)

它在var password = "h@llo"; var list = new Set(['!', '@']); // make it a set for direct access var charCount = password.split('').filter( ch => list.has(ch) ).length; console.log(charCount);中寻找var password = "h@llo"; var re = /[!@]/g; var charCount = password.match(re).length; console.log(charCount); ...你的脚本已经销毁了。