쉘 스크립트에서 *를 사용하는 방법

쉘 스크립트에서 *를 사용하는 방법

데이터베이스에 몇 개의 쿼리를 저장하는 테이블이 있고 sqlcmd를 사용하여 쿼리를 검색하려고 합니다. 이렇게 하면 select * from abc가 "select from abc"로 대체됩니다.

이 문제를 극복하는 방법은 무엇입니까?

편집하다:

Max_Values=5
n=1
while [ $n -le $Max_Values ]
do
Sql_Qry="set nocount on;Select Query from dbo.abc With(nolock) Where RowID=$n"  

Query=`/opt/mssql-tools/bin/sqlcmd -S Server_name -U UserID -P Password -d database -Q "$Sql_Qry" -h -1`
echo $Query
n=$(( n+1 ))
done

예상 출력:

Select * from Int.Table1

실제 출력:

Select Script1.txt script2.sh script3.sh from Int.Table1

script1, script2 및 script3은 현재 디렉터리에 있는 파일입니다.

답변1

인쇄하려는 변수를 큰따옴표로 묶으면 문제가 해결됩니다. 즉

echo "$Query"

관련 정보