シェルスクリプトで*を使用する方法

シェルスクリプトで*を使用する方法

データベースにいくつかのクエリを格納するテーブルがあり、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"

関連情報