0

我需要在每一行的末尾打印一个接收到的参数......这是我所做的:

在没有用户的情况下打印信息:
代码

user=$1
while read line; do
       linearr=($line)
       echo "${linearr[2]} ${linearr[0]} ${linearr[3]}"
done

输出:

b name2 5
c name3 2
a name1 0

在每行末尾与用户一起打印信息:
代码:

user=$1
while read line; do
       linearr=($line)
       echo "${linearr[2]} ${linearr[0]} ${linearr[3]} $user"
done

输出:

omare2 5
omare3 2
omare1 0

如果我打印用户 ( echo $user),它通常会打印名称 (omar)... 为什么会这样?

4

1 回答 1

3

很可能${linearr[3]}\r. ($user也可以从那个字符开始。)

(如果您从具有 Windows 类型行尾的文件重定向,则可能会发生这种情况\r\n。)

于 2012-05-20T19:39:48.563 回答