我想使用 Linux 中的脚本来启动多个iperf3
服务器实例,如下所示:
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.1.1 -p 5021"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.2.1 -p 5022"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.3.1 -p 5023"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.4.1 -p 5024"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.5.1 -p 5025"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.6.1 -p 5026"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.7.1 -p 5027"
gnome-terminal -e --bash -c "iperf3 -s -B 10.10.8.1 -p 5028"
它不工作,问题是什么?
我确信您不想将
--bash
和-c
作为选项传递给gnome-terminal
。您可能想将其用作在 GNOME 终端中运行的命令;但是当它只执行单个命令时(在您的情况下),bash -c …
这样做毫无意义。bash -c
iperf3 …
您的行看起来像 frankencode,包含三种运行命令的方式:
with 形式
bash
不涉及gnome-terminal
(尽管它可以与 一起使用gnome-terminal
,我们将讨论这一点)。with 形式已弃用;建议使用-e
with 形式。适合您的正确语法很简单:--
相应地重建剩余的线路。
如果你想运行shell 代码,那么你需要
sh -c
,bash -c
等等。例如:其中
;
属于 shell 语法。上面的命令使用参数和gnome-terminal
运行。它将运行并等待其完成,然后用 interactive 替换自身。sh
-c
iperf3 -s -B 10.10.1.1 -p 5021; exec bash
sh
iperf3
bash