2016-11-21 7 views
1

最初の引数$htmlpageidは、shスクリプトの$1によって参照されます。 2番目の引数は、$2によって参照される必要があります。右?PHPを介してshにargsを渡します。最初の引数は受信されますが、2番目の引数は受信されません

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

どんなに私がしようが、私は、スクリプトの上に第2引数$daysを得ることができないものを。 いくつかの方法を試しましたが、どちらも2番目の引数$daysを渡しませんでした。

+0

:;)

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

は、代わりに私がスクリプトに渡された引数を持つ関数と呼ばれる関数または外のコマンドをコード化されていたでしょうか? mydomain.nlのURL、またはPHPから$ daysを受け取っていないcreateclientcert.shですか? (これはテストスクリプトでうまく動作します).... –

+0

@Kevin_Kinsey "またはPHPから$ daysを受け取っていないcreateclientcert.shですか?"それはまさに私の物語が語るものです。 ;)私はそれをあまり混乱させないように質問を更新しました。 ;) –

+0

エラーメッセージはありますか?あなたがsudo経由でそれを呼び出さずにスクリプトを呼び出すと、それは$ 2を渡しますか? –

答えて

1

私は関数定義の中でそれを参照したので、shスクリプトで$ daysを$ 2で参照して間違えました。

このダムのことは大変申し訳ありません。第2引数を受け取っていない何

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

newclient $1 $2 
関連する問題