2014-04-07 2 views
1

내 스크립트에서 파일을 통해 Bash 파일에 두 개의 인수를 전달합니다.
PHP 파일 :인수가 PHP를 통해 bash 파일에 전달되지 않음

$number_server = 7; 
$server_name = "dbfs"; 
exec("/bin/bash drun.sh $number_server $server_name",$db_uptime); 
foreach($db_uptime as $dbm_load){ 
echo $dbm_load."<br />"; 
} 

배쉬 파일 : 스크립트는 한 번만 실행 한 record.Means FOR 루프 Bash

#!/bin/sh 
for i in seq $1; do ssh $2$i 'uptime;free -m;mpstat;cat /tmp/db2.info'; done & 
pid=$! 
sleep 2 
kill -9 $pid 

이에 따라 7 개 기록을 표시되지만 실제로는 보여줍니다 두 번째 인수가 bash에 전달되지 않습니다.

답변

3

BASH 스크립트가 잘못되었습니다. 이것을 다음으로 대체하십시오 :

#!/bin/bash 

for ((i=0; i<$1; i++)); do 
    ssh "$2$i" 'uptime;free -m;mpstat;cat /tmp/db2.info' 
done & 
pid=$! 
sleep 2 
kill -9 $pid 
+0

우리는'kill' 시간보다 1 초 적은 시간을 줄 수 있습니까? – Tomas

+0

죄송합니다. 고객님의 의견을 이해할 수 없습니다. 'kill '은 지연을 일으키지 않습니다. – anubhava

+0

죄송합니다. 잠자기 시간을 1 초 미만으로 줄 수 있습니까? – Tomas

관련 문제