0

私は次のスクリプトを持っています:

#!/bin/bash

function MySQLQuery()
{
        echo $1
        #mysql -u root -p << EOF
        #$1
        #EOF
}
MySQLQuery "SELECT * FROM kunden;"

ただし、出力は次のとおりです。SELECT install.shFROMkunden。*をスクリプトの名前に置き換えます。どうすればこれを防ぐことができますか?

または、より良い解決策はありますか?

よろしく、ヴィンス

4

2 に答える 2

3

@Ansgarが提案したもの( )に加えて、次のような引用符でパラメータMySQLQuery 'SELECT * FROM kunden;'を囲む必要もあります。$1

echo "$1"

それはトリックを行う必要があります

于 2013-03-27T09:42:49.473 に答える
0

グロブを防ぐ必要があります。文字列を一重引用符で囲みます。

MySQLQuery 'SELECT * FROM kunden;'

関数内のパラメーターを二重引用符で囲みます。

于 2013-03-27T09:26:27.987 に答える