Begitu gnome-terminal sudah mulai bash, itu keluar dari loop sejauh menyangkut eksekusi perintah: itu hanya mengelola input dan output. Jadi, Anda perlu kerja sama bash untuk menjalankan sesuatu setelah ~/.bashrc
dimuat.
Pertama, dalam banyak kasus, Anda sebenarnya tidak perlu menjalankan perintah setelah itu ~/.bashrc
. Misalnya, membuka terminal di direktori tertentu dapat dilakukan dengan mudah cd /foo/bar && gnome-terminal
. Anda dapat mengatur variabel lingkungan dengan cara yang sama: VAR=value gnome-terminal
. (Jika Anda ~/.bashrc
menimpa variabel lingkungan, Anda salah melakukannya: definisi variabel lingkungan termasuk di~/.profile
dalamnya )
Untuk menjalankan perintah di terminal, tetapi sebelumnya ~/.bashrc
, Anda bisa melakukannya
gnome-terminal -x sh -c 'command1; command2; exec bash'
Jika Anda ingin menggunakan banyak tab, Anda harus menggunakan -e
alih-alih -x
. Gnome-terminal secara tidak membantu memecah argumen -e
pada spasi alih-alih mengeksekusi melalui shell. Meskipun demikian, Anda dapat menulis perintah shell jika Anda memastikan untuk tidak memasukkan spasi di dalamnya. Setidaknya dengan gnome-terminal 2.26, Anda dapat menggunakan tab, (ganti <TAB>
dengan karakter tab literal):
gnome-terminal -e 'sh -c command1;command2;exec<TAB>bash'
gnome-terminal --tab -e 'sh -c command1;<TAB>exec<TAB>bash' \
--tab -e 'sh -c command2;<TAB>exec<TAB>bash'
Jika Anda perlu menjalankan perintah setelah ~/.bashrc
, membuat ia menjalankan perintah. Misalnya, sertakan kode berikut di akhir ~/.bashrc
:
eval "$BASH_POST_RC"
Kemudian untuk menjalankan beberapa kode setelah (sungguh, di akhir) bashrc Anda:
gnome-terminal -x sh -c BASH_POST_RC=\''command1; command2'\''; exec bash'
atau (kurang berat pada kutipan)
BASH_POST_RC='command1; command2' gnome-terminal
Meskipun saya khususnya tidak merekomendasikan melakukannya dengan cara ini, Anda mungkin tertarik pada teknik yang disebutkan dalam
Cara memulai terminal dengan teks tertentu yang sudah dimasukkan pada baris perintah? .