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 に答える