在我的脚本中,我通过Bash
文件将两个参数传递到PHP
文件中
PHP文件:
$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 />";
}
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条记录,但实际上它只显示一条记录。FOR
脚本中的Bash
循环只运行一次而第二条参数传入bash不起作用。
答案 0 :(得分: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