gnome-terminal用法解析

gnome-terminal命令用于打开一个新的终端,直接在命令行:

$ gnome-terminal

就可以打开一个新的终端,有一些常用参数:
打开后自动最大化
$ gnome-terminal --maximize打开后全屏
gnome-terminal --full-screen
设置标题
$ gnome-terminal --title="new title"
打开多个终端,多个tab
$ gnome-terminal --window --window #打开两个
$ gnome-terminal --window --tab --window --tab --tab #打开两个,第一个两个tab,第二个3个tab
设置打开的位置和大小(宽度x高度+左侧偏移量+上方偏移量)
$ gnome-terminal --geometry=80x25+10+10

[启动后自动执行命令]
有两个参数可以实现这个功能,-e和-x,这两个区别在于:
-e 可以出现多次,如果在所有--window前面,表示对所有window和tab起作用,

                                     如果在--window或者--tab后面,表示只针对这个tab执行;

注意: -e 后面只能有一个参数, 也就是说如果有空格,需要用引号


-x 只能出现一次,在-x后面的所有内容,均认为是要执行的命令,所以可以出现空格
   这些命令是针对所有tab都执行的


比如:
$ gnome-terminal -e ls
$ gnome-terminal -x ls

这两个的执行结果都一样,就是新的终端闪一下就没了,解决办法:

在bash里面再启用一个bash
$ gnome-terminal -x bash -c "ls; exec bash"
$ gnome-terminal -e 'bash -c "ls; exec bash"'

-c 的意思是 command,所以 bash -c 后面应该跟一个 command

exec bash: 不让终端运行结束以后关闭

如:

#!/bin/bash
# 脚本名称: takeoff_land
# 脚本描述: 该脚本为起飞&降落控制demo启动脚本,包含PX4 SITL,Gazebo仿真环境,无人机控制节点以及起飞&降落控制节点

gnome-terminal --window -e 'bash -c "roscore; exec bash"' \
--tab -e 'bash -c "sleep 5; roslaunch prometheus_gazebo sitl_outdoor_1uav.launch; exec bash"' \
--tab -e 'bash -c "sleep 6; roslaunch prometheus_uav_control uav_control_main_outdoor.launch; exec bash"' \
--tab -e 'bash -c "sleep 7; roslaunch prometheus_demo takeoff_land.launch; exec bash"' \
#--tab -e 'bash -c "sleep 7; rosrun prometheus_demo takeoff_land.py; exec bash"' \

#!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,...

参考:

关于#!/bin/bash_南沙的星星的博客-CSDN博客_#!/bin/bash

gnome-terminal用法解析(转) - hbg-rohens - 博客园

 

你可能感兴趣的:(ROS,bash,开发语言)