若吾皇
这是将输出结果find放入bash数组的一种解决方案:array=()while IFS= read -r -d $'\0'; do array+=("$REPLY")done < tmpfilewhile IFS= read -r -d $'\0'; do array+=("$REPLY")done (...)可以用来代替命令要写入文件的文件名。像数组一样,进程替换是bash和其他高级Shell的功能。它不是POSIX标准的一部分。补充笔记以下命令创建一个shell变量,而不是一个shell数组:array=`find . -name "${input}"`如果要创建一个数组,则需要将括号放在find的输出周围。因此,天真的,一个人可以:array=(`find . -name "${input}"`) # don't do this问题在于外壳程序对的结果执行单词拆分,find因此不能保证数组的元素是您想要的。