Bash cho phép bạn chỉ định một đầu vào được chuyển hướng trước một lệnh:
$ <lines sed 's/^/line: /g'
line: foo
line: bar
Bash cũng cho phép bạn chuyển hướng đầu vào thành một lệnh ghép như một while
vòng lặp:
$ while read line; do echo "line: $line"; done <lines
line: foo
line: bar
Tuy nhiên, khi tôi cố gắng chỉ định đầu vào được chuyển hướng trước một while
vòng lặp, tôi gặp lỗi cú pháp:
$ <lines while read line; do echo "line: $line"; done
bash: syntax error near unexpected token `do'
Có chuyện gì với cái này vậy? Có phải là không thể chỉ định đầu vào được chuyển hướng trước một lệnh ghép trong Bash? Nếu vậy, tại sao không?