我观察到一种我无法理解的行为,并希望有人能对此有所了解。
我有两个脚本,都是从 STDIN 读取的。
从键盘读取一串数字(1 输入 2 输入 3 输入 ...)
脚本 A 每次都打印“x”
#!/bin/bash
while read LINE
do
echo "x" # this happens everytime
echo $LINE # this is the only different line
done
output:
1
x
1
2
x
2
3
x
3
4
x
4
5
x
5
脚本 B 仅在第一次读取 LINE 时打印“x”
#!/bin/bash
while read LINE
do
echo "x" # this happens only the first time
awk '{print $LINE}' # this is the only different line
done
output:
1
x
2
2
3
3
4
4
5
5
有人可以解释一下吗?