我曾尝试编写一个 shell 脚本来在多个终端中运行多个命令,但我无法运行这些命令。我只能打开多个终端。
这是在 shell 脚本文件中写的sitl.sh
:
#!/bin/bash
gnome-terminal --working-directory=/home/mit/catkin_ws/ && roslaunch iq_sim iris.launch && rosrun iq_gnc square
gnome-terminal --working-directory=/home/mit/ardupilot/ArduCopter/
gnome-terminal --working-directory=/home/mit/catkin_ws/
gnome-terminal --working-directory=/home/mit/catkin_ws/ && roslaunch iq_sim lidar.launch
如果我运行此脚本,命令将在同一终端中执行。如果我终止第一个命令,则下一个命令正在运行,如果我终止第二个命令,则第三个命令正在运行。我需要同时运行所有命令。我需要使用单个 shell 脚本命令同时在每个终端窗口中运行每个命令。请帮助我解决这个问题。
我的输出目的是,需要运行多个命令,命令应该同时在每个终端上单独执行,我不需要终止第一个命令,这样我的第二个命令就可以工作。
请朋友们帮助我解决我的问题。
答案1
您应该使用选项-e
或。-x
根据:gnome-terminal
man gnome-terminal
-e, --command=STRING
Execute the argument to this option inside the terminal.
-x, --execute
Execute the remainder of the command line inside the termi‐
nal.