1. 程式人生 > >linux下使用shell指令碼開啟多個terminal並在其中執行程式的方法

linux下使用shell指令碼開啟多個terminal並在其中執行程式的方法

gnome-terminal(是一種模擬終端器,一說是ubuntu的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 可以出現多次,如果在所有--window前面,表示對所有window和tab起作用,
   如果在--window或者--tab後面,表示只針對這個tab執行,要注意-e後面只能有一個引數(-e 3)
   也就是說如果有空格,需要用引號,具體見後例

-x 只能出現一次,在-x後面的所有內容,均認為是要執行的命令,所以可以出現空格
   這些命令是針對所有tab都執行的

執行指令碼後要保持標籤不消失,需要加上exec bash 的命令,並用分號跟前面的命令隔開

這樣完成的命令如下:

gnome-terminal --window --tab -e 'bash -c "bash ./server/mcserver/game/run_login.sh;exec bash"'

 

這時候.bashrc還未執行,因此如果執行的指令碼依賴.bashrc裡面的環境變數,指令碼執行會失敗

應對辦法是,在.bashrc 最後加上這樣一行

eval "$BASH_POST_RC"