我带星号的是bash shell中执行一个MySQL声明:如何将星号传入bash heredoc?
query=`cat <<EndOfMySQL
INSERT tmp_table
SELECT * FROM table
;
EndOfMySQL
`
echo $query
echo $query | mysql database
问题是星号是由文件列表在当前目录更换和查询变得错误。如何避免这种行为?无论我使用反引号还是$()
都没关系。我希望有一些转义序列,如\*
,但至少这一个不起作用。
为什么'\ *'不起作用?你面临的问题是什么? –
@KingsIndian这样,它就像“SELECT \ * FROM table”一样打印出来。 – Kalmar
您需要'set -f' - 请参阅下面的答案。 –