>source

여러 줄 문자열을 제공하는 AWS CLI 명령의 출력을 반복하고 싶습니다.

문자열을 부분 문자열로 나누고 싶지만 반복하면 \r  각 하위 문자열에 포함됩니다. 왜 이런 일이 발생합니까?

#!/bin/bash -ex
physicalId=`aws ec2 describe-instances --filters "Name=tag:Name,Values=test-servers" --output text --query 'Reservations[*].Instances[*].InstanceId'`
echo physicalId="${physicalId}"
for i in $physicalId; 
do 
echo "$i";
aws ec2 describe-instances --instance-id $i --output text --query "Reservations[*].Instances[*].[ImageId]"
done

echo physicalId="${physicalId}"  이 출력을 제공합니다 :

echo 'physicalId=i-0a4a344429075
i-0a2a2aa22a2
i-a0aa212122a2a25'

그러나 문자열을 반복 할 때 i-0a4a344429075\r 를 제공합니다   i-0a2a2aa22a2\r i-a0aa212122a2a25\r . 왜 이런 일이 발생합니까? \r 를 제거하는 방법  부분 문자열에서?

  • 답변 # 1

    이것을 시도

    echo "${physicalId//\\r/}"
    
    

관련 자료

  • 이전 양방향 연산자는 (g) awk에서 어떻게 작동합니까?
  • 다음 node.js - 노드에서 MongoDB로 변경되는 순간 날짜 형식