bash函数用单引号中的参数

时间:2014-04-05 18:18:03

标签: bash

我试图将2个参数传递给以下bash函数$ 1和$ 2。如果我只是回应下面的陈述,它似乎只输出1美元和2美元。我需要在单引号中使用参数才能使函数正常工作。我做错了什么?

function mysql_diff()
{
    java -jar mysql-diff.jar 'jdbc:mysql://localhost:3306/$1?user=root&password=PASSWORD' 'jdbc:mysql://localhost:3306/$2?user=root&password=PASSWORD'
}

1 个答案:

答案 0 :(得分:2)

您似乎需要将参数括在单引号中。要实现这一点,请用双引号括起所有内容:

function mysql_diff()
{
    java -jar mysql-diff.jar "'jdbc:mysql://localhost:3306/$1?user=root&password=PASSWORD'" "'jdbc:mysql://localhost:3306/$2?user=root&password=PASSWORD'"
}

这不会阻止变量扩展,也会导致参数用单引号括起来。