Bash语法帮助-mapfile/readarray(将文本拆分为数组)
在bash中,在一些StackOverflow答案中,它们显示了如何填充结果以将文件查找到数组中: 信息1 较旧的bash版本Bash语法帮助-mapfile/readarray(将文本拆分为数组),bash,syntax,Bash,Syntax,在bash中,在一些StackOverflow答案中,它们显示了如何填充结果以将文件查找到数组中: 信息1 较旧的bash版本 mapfile -d $'\0' array < <(find . -name "${input}" -print0) mapfile-d$'\0'数组(列表)表单,写入文件将为列表提供输入 如果的我知道$(…)子流程,但我认为谢谢你,你的更新评论和链接很清楚。我现在明白了它的意思,它还解释了你不能使用空格(正如我尝试的那样),因为这样
mapfile -d $'\0' array < <(find . -name "${input}" -print0)
mapfile-d$'\0'数组<我还没有收到一个我会投赞成票的答案。要回答信息1的问题,如果Nahuel提供的链接过期,请参阅相关部分。这对我来说很重要,因为有时我想了解给定解决方案的作用,有时答案中没有解释这一部分
它被称为过程替代
过程替代
进程替换允许使用文件名引用进程的输入或输出。它的形式是
<(list)
功能
进程列表异步运行,其输入或输出显示为文件名。扩展后,此文件名作为参数传递给当前命令
- 如果使用
>(列表)
表单,写入文件将为列表提供输入
- 如果
的我知道$(…)
子流程,但我认为谢谢你,你的更新评论和链接很清楚。我现在明白了它的意思,它还解释了你不能使用空格(正如我尝试的那样),因为这样意义就不同了。-d
是一个读取选项,但不是。您需要使用类似于IFS='|'readarray端口的东西
readarray -d '|' PORTS <<< "${matched}"
IFS='|' read -r -a PORTS <<< $matched
<(list)
>(list)