我坚持使用奇怪的readarray
命令行为。
的man bash
状态:
readarray
Read lines from the standard input into the indexed array variable array
但是这些脚本不起作用(数组为空):
unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]}
unset arr; cat /etc/passwd | readarray arr; echo ${#arr[@]}
这些工作:
unset arr; readarray arr < /etc/passwd ; echo ${#arr[@]}
unset arr; mkfifo /tmp/fifo; (echo a; echo b; echo c) > /tmp/fifo & mapfile arr < /tmp/fifo ; echo ${#arr[@]}
管道有什么问题?
< <
2个箭头意味着什么?