从stdin读取bash中的输入

从stdin读取bash中的输入,bash,input,char,stdin,Bash,Input,Char,Stdin,这是我的意见: 99116784 112 0便士 99116784 12 0 这是我的密码 while read line || [[ -n "$line" ]]; do for var in $line do echo $var done done 如果我在这段时间内打印$行,则会打印p 只是执行echo$var不会打印或知道p在那里,有人知道为什么吗?我重新组织了您的代码,它在我的Mac上的bash中工作 #!/bin/b

这是我的意见:

99116784 112 0便士

99116784 12 0

这是我的密码

 while read line || [[ -n "$line" ]];
    do for var in $line 
          do echo $var
       done
 done
如果我在这段时间内打印$行,则会打印p
只是执行echo$var不会打印或知道p在那里,有人知道为什么吗?

我重新组织了您的代码,它在我的Mac上的bash中工作

#!/bin/bash
while read line || [[ -n "$line" ]];
do
    for var in $line 
    do
        echo $var
    done
done
exit 0
运行它

./test.sh
99116784 12 12 0 p
99116784
12
12
0
p
99116784 12 12 0
99116784
12
12
0

p
将在此循环中打印。更清楚地展示你在做什么,最终目标是什么,你在运行什么命令。由于缺少OP的更多信息,我投票决定以“一个无法重现的问题或一个简单的印刷错误”结束