0

我有以下脚本:

#!/bin/bash

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

但输出是:SELECT install.sh FROM kunden。它将 * 替换为脚本的名称。我怎样才能防止这种情况?

或者有没有更好的解决方案?

问候,文斯

4

2 回答 2

3

除了@Ansgar 建议的(MySQLQuery 'SELECT * FROM kunden;')之外,您还需要将$1参数括在引号中,例如:

echo "$1".

这应该够了吧

于 2013-03-27T09:42:49.473 回答
0

您需要防止globbing。将字符串放在单引号中:

MySQLQuery 'SELECT * FROM kunden;'

并双引号函数内的参数。

于 2013-03-27T09:26:27.987 回答