GNU/Linux >> Belajar Linux >  >> Ubuntu

Membuka Beberapa Tab Terminal Dan Menjalankan Perintah?

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:

  1. Setelah menyiapkan tata letak Anda, klik kanan pada latar belakang terminal mana pun dan pilih PreferensiTata Letak tab dan klik Tambah tombol.

  2. Beri nama dan tekan Tutup .

  3. Ini akan membuat ~/.config/terminator/config yang disebutkan di atas berkas.

  4. 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).

  5. (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!


Ubuntu
  1. Ssh Ke Beberapa Host Dan Jalankan Perintah?

  2. Perbedaan Antara Simbol '&&' Dan ';' Di Terminal Bash Standar?

  3. Simpan Dan Pulihkan Tab Terminal Anda?

  1. Lihat dan Hapus Riwayat Terminal di Ubuntu 20.04 - Metode Terbaik?

  2. perintah eval di Bash dan kegunaannya yang khas

  3. Bash - Perintah tanggal dan spasi

  1. Pertahankan Bash History Di Beberapa Terminal Windows?

  2. Perbedaan Antara ' Dan ” Di Command Line (bash)??

  3. | Di Perintah Terminal?