내 스크립트는 다음과 같습니다
#!/bin/bash
mysql dbname -N -uroot -p -hhost -se "SELECT COUNTRY, COUNTRY_NAME FROM server ORDER BY COUNTRY"
output=$(mysql dbname -N -uroot -p -hhost -se "SELECT COUNTRY, COUNTRY_NAME FROM server ORDER BY COUNTRY")
echo $output
결과는 다음과 같습니다.
Enter password:
CN China
CZ Czech Republic
FI Finland
JP Japan
NL Netherlands
RO Romania
SG Singapore
UA Ukraine
US United States
US United States
US United States
US United States
Enter password:
CN China CZ Czech Republic FI Finland JP Japan NL Netherlands RO Romania SG Singapore UA Ukraine US United States US United States US United States US United States
output
mysql 쿼리의 출력에 bash 변수를 설정하고 싶지만 output
모든 새 행이 제거된다는 점을 제외하면 변수가 괜찮은 것 같습니다. 내 질문은 bash 변수를 mysql 쿼리 결과, 행의 각 행에 어떻게 설정합니까?
답변1
바꾸다
echo $output
인용해 보세요! 읽다분사
echo "$output"
공백/메타 문자를 포함하는 모든 리터럴은 "큰따옴표"로 처리합니다.모든확장: "$var"
, "$(command "$var")"
, "${array[@]}"
, "a & b"
. 'single quotes'
코드나 텍스트 $'s: 'Costs $5 US'
에 대해서는 ssh host 'echo "$HOSTNAME"'
을 참조하십시오.
http://mywiki.wooledge.org/Quotes
http://mywiki.wooledge.org/Arguments
http://wiki.bash-hackers.org/syntax/words