Inilah yang ingin saya capai:
- Saya ingin membuka terminal gnome dengan lima tab di dalamnya
- Saya ingin menjalankan seperangkat perintah (5 - 10 perintah) di setiap tab secara otomatis Tab
pertama: akan mengatur tampilan huruf besar dan setelah itu jalankan satu atau lebih perintah
Tab kedua: harus masuk ke server dan menjalankan beberapa perintah
Tab ketiga: hanya akan menjalankan beberapa perintah
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab
(berfungsi ok, tampilan diatur tetapi tidak ada perintah yang dijalankan setelah itu)
Saya telah mencoba melakukannya dengan cara ini dan menjalankannya dalam skrip di bawah ini:
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact
Jika saya menghapus exec gnome-terminal --geometry 125x49-0+81 –tab
baris dari contoh dan memanggil skrip dari beberapa file lain, itu berfungsi dengan baik - saya masuk ke server dan semua perintah dijalankan. Adakah yang bisa membantu saya menyelesaikan ini?
Untuk menulis sebuah skrip yang saya panggil untuk setiap tab bukanlah suatu pilihan, karena saya akan memiliki 5 terminal dengan masing-masing tab pada akhirnya, dan itu berarti 25 hingga 30 skrip untuk ditulis (biayanya lebih mahal daripada membantu dalam masalah saya).
sumber
Jawaban:
Ini sepertinya berfungsi pada mesin saya:
Harap dicatat, segera setelah proses yang dijalankan oleh -e selesai berjalan, mereka akan berakhir. Dalam hal ini, bash dimuat, menjalankan perintah apa pun yang Anda berikan padanya, dan segera ada. Saya memasukkan pernyataan baca untuk menunggu input pengguna. Dengan cara ini tab-tab itu tidak akan ditutup sampai Anda menekan tombol, hanya supaya Anda bisa melihatnya dalam contoh ini. Tanpa mereka, akan terlihat seolah-olah hanya dua tab yang dibuka, karena dua lainnya akan mengeksekusi dan menutup terlalu cepat.
sumber
Karena bash berhenti setelah perintah selesai, Anda dapat memanggil instance lain dari
bash
setelah perintah Anda untuk mendapatkan shell interaktif:sumber
Simpan di bawah ini sebagai script.sh
tambahkan script.sh ke $ PATH kemudian jalankan
Lihat Buka tab baru di gnome-terminal menggunakan baris perintah .
sumber