Mysql Shell脚本处理变量

Mysql Shell脚本处理变量,mysql,bash,Mysql,Bash,我使用 exec("./script.sh $a $b"); 我可以在.sh中回显这些值,但我不能在其他任何地方使用这些变量。例如,它不是创建数据库$1和文件夹$2 #!/bin/bash mysqldump -u root -p'password' currentdb > /home/admin/mydb.sql echo "create database" $1 | mysql -u root -p'password' mysql -u root -p'password' $1 &l

我使用

exec("./script.sh $a $b");
我可以在.sh中回显这些值,但我不能在其他任何地方使用这些变量。例如,它不是创建数据库$1和文件夹$2

#!/bin/bash
mysqldump -u root -p'password' currentdb > /home/admin/mydb.sql
echo "create database" $1 | mysql -u root -p'password'
mysql -u root -p'password' $1 < /home/admin/mydb.sql

mkdir /var/www/instance/$2
chmod -R 777 /var/www/instance/$2

cp -r /var/www/instance/current/* /var/www/instance/$2/
cd /var/www/instance/$2/
sed -i 's/currentdb/$1/g' configuration.php
#/bin/bash
mysqldump-u root-p'password'currentdb>/home/admin/mydb.sql
echo“创建数据库”$1 | mysql-u root-p'password'
mysql-u root-p'password'$1

我哪里做错了?请帮助,提前谢谢。

不知道脚本本身有什么问题,但我建议重复引用
$1
$2
。此外,您在
exec(“./script.sh$a$b”)中使用了相对路径你确定脚本和php文件在同一个文件夹中吗?是的,它在同一个文件夹中。但是变量是空的。你能手动运行script.sh吗?是的,我可以通过手动传递值来完美地运行它。但是我想用php表单传递这些值。