array[@]의 출력이 모두 엉망이 되었나요?

array[@]의 출력이 모두 엉망이 되었나요?

나는 이 코드를 가지고 있습니다 :

Unix+=("Stock List")
while read line; do 
  result=$(wget -O - -o /dev/null "http://finance.yahoo.com/d/quotes.csv?s=$line&f=sl1&e=.csv" | tr ',' '    ' | tr '"' ' ')
  Unix+=("$result")
done < stock.txt

echo ${Unix[@]}
echo ${Unix[0]}
echo ${Unix[1]}
echo ${Unix[2]}

다음 줄만 포함된 텍스트 파일을 읽습니다.

SXX.L
QPP.L

그리고 출력:

 QPP.L 14.2495.L 27.50
Stock List
SXX.L 27.50
QPP.L 14.2495

출력에 array[@]정보가 누락되어 혼란스러운 이유는 무엇입니까?

답변1

#!/bin/bash -x를 사용하여 디스플레이를 실행합니다:

+ 에코 인벤토리 목록 SXX.L $'27.50\r' QPP.L $'14.2495\r'

이러한 \r은 출력을 망칠 수 있습니다. 커서를 줄의 시작 부분으로 다시 이동하고 그 이후의 내용은 이미 있는 내용을 덮어씁니다.

관련 정보