मैं 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 तीरों का क्या मतलब है ?