使用popen将变量从php传递给bash脚本文件

时间:2016-05-26 02:03:17

标签: php bash

在我的php文件中,这就是我运行bash脚本文件的方式。

$run=popen("/var/www/html/work/bashfile.sh","r");

并且在bashfile.sh里面我有这样的东西

#! /bin/bash
cd /var/www/html/work/prepare
./runfile 0.3 180 username

此代码通过按照username1.jpg,username2.jpg

生成图片来完美

但是当我尝试通过使用php将变量传递给bash脚本来做同样的瘦时它也不起作用,这就是我编写代码的方式  在我的php文件中

$vari="name1";
$run=popen("/var/www/html/work/bashfile2.sh $vari","r");

在我的bashfile2.sh里面我做

#! /bin/bash
$vari=$1
    cd /var/www/html/work/prepare
    ./runfile 0.3  180 $vari

但这不起作用。请知道如何解决问题,最终得到第一个代码的结果

1 个答案:

答案 0 :(得分:0)

popen()将您的变量解释为您发送的字符串的一部分。在字符串中直接使用变量时,请尝试使用{}括起变量。

$vari = "name1";
$run = popen("/var/www/html/work/bashfile2.sh {$vari}","r");