gpt4 book ai didi

php - 参数通过 php 传递到 bash 文件不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:16 25 4
gpt4 key购买 nike

在我的脚本中,我通过 PHP 文件将两个参数传递给 Bash 文件。
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 条记录,但实际上它只显示一条记录。意味着 Bash 脚本中的 FOR 循环只运行一次,第二个参数传递给 bash不工作。

最佳答案

您的 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

关于php - 参数通过 php 传递到 bash 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22904946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com