2016-11-21 81 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 
相關問題