我想在我的 ubuntu 服务器上运行一个脚本,其中包含一个来自 php 的变量。
这是我尝试将变量传递给ubuntu的一些东西...
shell_exec('vpsName=HI3');
vpsName=`mysql -D jake_db -h 127.0.0.1 -u jake -pXXXXXXX -se "SELECT vpsName FROM reinstalls WHERE status = 'pending'"`;
我认为可以修复它的最后一种方法是避免一起通过 ubuntu 运行脚本并从 shell_exec() 运行它;但它在运行 guestfish 命令时失败。
这是我的整个 reinstalls.sh 脚本。
sudo rm /var/lib/libvirt/images/"$vpsName".qcow2 && sudo wget -O /var/lib/libvi$
guestfish -a /var/lib/libvirt/images/"$vpsName".qcow2 <<'EOF'
run
mount /dev/ubuntu-vg/root /
rm /etc/network/interfaces
EOF
sudo fusermount -u /mnt && virsh start "$vpsName" && echo "IT WORKED!"
我愿意以任何方式让它工作,只要它安全,
提前致谢,
jack
编辑:
如果我使用 VPS 名称而不是变量运行脚本,它就可以工作。我只是找不到将变量从网站传递到 ubuntu16.04 操作系统的方法。
最佳答案
一种方法是从 PHP 运行每个命令:
shell_exec("sudo rm /var/lib/libvirt/images/" . $vpsName . ".qcow2");
shell_exec("sudo wget -O /var/lib/libvi ... etc");
另一种是从 PHP 调用您的 shell 脚本,将 vps 名称作为参数传递:
shell_exec("reinstalls.sh " . $vpsName)
但是您必须重写 shell 脚本以获取命令行参数并根据需要应用它。对于 bash,this解释了如何去做。
关于php - 将变量从 PHP 传递到 ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719627/