Saya perlu membuka beberapa tab terminal, memberinya judul, membuka direktori, dan membuat setiap tab menjalankan perintah.
Saya baru mengenal Linux dan skrip shell, setelah mencari online dan memeriksa beberapa solusi, saya membuat skrip ini (EDITED berdasarkan jawaban di bawah):
#!/bin/bash
cd /media/Extra/Project
tab=" --tab-with-profile=Default"
options=(--tab --title=Terminal)
cmds[1]="'rails s'"
titles[1]="Server"
cmds[2]="'rails c'"
titles[2]="Console"
for i in 1 2; do
options+=($tab --title="${titles[i]}" -e "bash -c "${cmds[i]} ; bash"" )
done
gnome-terminal "${options[@]}"
exit 0
Ini membuka tab, menamainya, tetapi gagal menjalankan perintah yang menghasilkan kesalahan ini:
Terjadi kesalahan saat membuat proses anak untuk terminal ini
Kekurangan lainnya adalah jika saya menghentikan perintah yang sedang berjalan, itu akan menutup tab, yang tidak saya inginkan. Saya harus bisa menghentikan perintah dan menjalankannya lagi di tab yang sama.
Apa yang salah dengan skrip? Apakah ada cara lain yang lebih sederhana untuk melakukannya?
Catatan:Jika saya menghapus bagian (-e ""bash -c ${cmds[i]};bash"") dari perintah, itu akan membuka tab di direktori yang diberikan dan menamainya, tanpa kesalahan.
-Edit-1:
Setelah menerapkan jawaban @Tuknutx di bawah dan mengedit skrip, kesalahan tidak muncul lagi, tetapi memberi saya bash: rails c: command not found
dan rails s
membuat aplikasi Rails baru alih-alih memulai server Rails, saya menggunakan .rmvrc untuk memilih permata setelah folder ini diakses.
Jawaban yang Diterima:
Saya akan merekomendasikan menggunakan tmux
dengan tmuxinator
, itu akan bekerja untuk Anda, dan Anda dapat mengandalkan terminator
tata letak juga!
Untuk terminator
tata letak checkout jawaban mhnagaoka di sini juga askubuntu:
Setelah menyiapkan tata letak Anda, klik kanan pada latar belakang terminal mana pun dan pilih Preferensi → Tata Letak tab dan klik Tambah tombol.
Beri nama dan tekan Tutup .
Ini akan membuat
~/.config/terminator/config
yang disebutkan di atas berkas.Sekarang Anda dapat memulai terminator menggunakan tata letak yang disimpan menggunakan:
terminator -l yourLayout
(ganti yourLayout dengan apa pun yang Anda
pilih pada langkah 2).(opsional) Edit
~/.config/terminator/config
file sehingga di mana dikatakan[layouts]
dan bersarang di bawahnya[[yourLayout]]
, ganti nama yourLayout ke default dan hapus/ganti nama default sebelumnya tata letak. Sekarang, ketika Terminator dimulai tanpa parameter apa pun, itu akan
memuat[[default]]
kustom Anda tata letak!