2016-11-21 57 views
1

第一个参数$htmlpageid可以在sh脚本中引用$1。 第二个参数应该被$2引用。对?通过PHP传递参数sh。第一个参数被接收,但不是第二个参数

<?php 
    $htmlpageid = uniqid(); 
    $days ="1"; 
    $command = shell_exec("sudo ./createclientcert.sh $htmlpageid $days");  
?> 

无论我怎么努力,但我不能让第二个参数$days到脚本。 我尝试了几种方法,但都没有通过第二个参数$days

+0

有什么理由不接收第二个参数:;)

#!/bin/sh newclient() { echo "# valid from "$(date) "till "$(date --date='+'$2' day') >> /root/$1.ovpn } 

相反,我应该有一个调用传递给脚本的参数的函数功能外编码的命令?在mydomain.nl的URL,还是createclientcert.sh没有从PHP接收$天? (它在测试脚本中工作得很好)... –

+0

@Kevin_Kinsey“或者createclientcert.sh没有从PHP接收$天?”这正是我的故事所说的。 ;)我已经更新了这个问题,以减少混淆。 ;) –

+0

任何错误消息?如果您不通过sudo调用脚本来调用脚本,它是否会通过$ 2? –

回答

1

我通过在sh脚本中引用$ days $ 2来犯我错误,因为我在函数定义中引用它。

非常抱歉,这个愚蠢的事情。

#!/bin/sh 
newclient() { 
    echo "# valid from "$(date) "till "$(date --date='+'$2' day') >> /root/$1.ovpn 
} 

newclient $1 $2 
相关问题