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"