当前位置: 首页 > 面试题库 >

将变量从php传递到bash

危彬彬
2023-03-14
问题内容

我似乎无法从php中将变量传递给我的bash脚本。无论我如何尝试,$ uaddress和$ upassword都变为空。

*_ __ _ __ __ * __ __ bash * __ __ * * **

#!/bin/bash -x
useraddress=$uaddress
upassword=$upassword
ssh -p 222 -6 2400:8900::f03c:91f:fe69:8af "/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add" $useraddress --password $upassword --password2 $upassword  .ssh

*_ __ _ __ * PHP __ * __ __ * __ **

<?php
$upassword = 'test1234'; $uaddress = 'mytestuser@tpccmedia.com';
$addr = shell_exec('sudo /home/tpccmedia/cgi-bin/member_add_postfixadmin 2>&1'); echo $uaddress; echo $upassword;
//$addr = shell_exec('ssh -p 222 -6 2400:8900::f03c:91f:fe69:8af /var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add; echo $useraddress; --password; echo $upassword; --password2; echo $upassword; .ssh');
echo "<pre>$addr</pre>";
var_dump($addr);
?>

*_ __ _ _ _输出和调试 _ _ _ * *_

mytestuser@tpccmedia.comtest1234

+ useraddress=
+ upassword=
+ ssh -p 2222 -6 2400:8900::f03c:91ff:fe69:8aaf '/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add' --password --password2 .ssh

Welcome to Postfixadmin-CLI v0.2
---------------------------------------------------------------
Path: /var/www/localhost/htdocs/postfixadmin
---------------------------------------------------------------

Username:  
>

string(404) "+ useraddress= + upassword= + ssh -p 2222 -6 2400:8900::f03c:91ff:fe69:8aaf '/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add' --password --password2 .ssh Welcome to Postfixadmin-CLI v0.2 --------------------------------------------------------------- Path: /var/www/localhost/htdocs/postfixadmin --------------------------------------------------------------- Username: > "

问题答案:

您需要将变量作为参数传递给Shell脚本,并且Shell脚本必须读取其参数。

因此在PHP中:

$useraddress = escapeshellarg('mytestuser@tpccmedia.com');
$upassword = escapeshellarg('test1234');
$addr = shell_exec("sudo /home/tpccmedia/cgi-bin/member_add_postfixadmin $useraddress $upassword 2>&1");

在shell脚本中:

useraddress=$1
upassword=$2


 类似资料:
  • 问题内容: 我正在使用Google Maps制作可以加载数据库中包含经纬度数据的标记的地图。我希望用户可以通过单击按钮来加载三个不同的“图层”。单击该按钮时,将在服务器上执行php函数,从而根据数据库中的信息创建xml文件。然后调用AJAX函数提取此xml数据,然后将其用于创建地图标记。没有为每个“层”使用单独的PHP函数(除了SQL查询所在的行,这是相同的东西),有没有办法将AJAX中的java

  • 问题内容: 我在将值从JS传递到PHP时遇到问题,以便可以将其用作PHP函数的参数。一旦单击链接,JS函数将由onclick事件触发。这是JS + HTML代码: PHP(insert.php): 感谢您能为我提供帮助的人。我对PHP和JS还是很陌生,所以请原谅我的愚蠢。 问题答案: 您将数据从浏览器传递到服务器。Javascript是一种用于操纵浏览器的语言。PHP是您的服务器端语言。 您可以在

  • 问题内容: 我想根据例如从jenkins传递的变量来运行测试用例,请选择要运行的测试用例:testcaseOne,testcaseTwo 在pom.xml(maven)中: 我有两个testng @test方法: 还有我的testng.xml文件: 如何根据我要运行的测试数量和数量来传递此参数?也许有完全不同的方式来做到这一点? 问题答案: 您可以在testng.xml文件http://testn

  • 问题内容: 我看过类似的论坛,但无法获得任何有效的解决方案。我正在尝试将变量从Flask传递到我的JavaScript文件。这些值将用于我的JavaScript文件中的PubNub。 这是我的Python代码的一部分: 这是我的JavaScript代码(app.js)的一部分: 如果我在Settings.html文件中使用了此代码,而在app.js文件中却没有使用,则此代码有效。 问题答案: 该m

  • 问题内容: 我正在尝试将变量从node.js传递到我的HTML文件。 问题答案: 我发现我可以传递这样的变量

  • 问题内容: 看起来很简单,但是我找不到很好的方法。 在第一页中说,我创建了一个变量 该页面的表单操作是“ Page2.php”。因此,在Page2.php中,如何访问该变量?我知道我可以在会话中做到这一点,但我认为对于一个简单的字符串来说这太多了,我只需要传递一个简单的字符串(文件名)即可。 我该如何实现? 谢谢! 问题答案: HTML / HTTP是无状态的,换句话说,您在上一页所做的/与当前页