bash函数的单引号参数
我试图将两个参数传递给下面的bash函数$1和$2。如果我只是重复下面的语句,它似乎只输出$1和$2。我需要将参数放在单引号中,函数才能正常工作。我做错了什么bash函数的单引号参数,bash,Bash,我试图将两个参数传递给下面的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&passwo
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'
}
似乎需要将参数括在单引号中。为此,请用双引号将所有内容括起来:
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'"
}
这不会阻止变量扩展,还会导致参数被括在单引号中。变量扩展不会发生在单引号中。