GNU/Linux >> Znalost Linux >  >> Ubuntu

Otevření více záložek terminálu a spuštění příkazu?

Potřebuji otevřít více záložek terminálu, dát jim názvy, přejít do adresáře a přimět každou kartu ke spuštění příkazu.

Jsem nový v Linuxu a skriptování shellu, po hledání online a kontrole některých řešení jsem vytvořil tento skript (UPRAVENÝ na základě odpovědí níže):

#!/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

Otevře karty, pojmenuje je, ale nespustí příkazy, které generují tuto chybu:

Při vytváření podřízeného procesu pro tento terminál došlo k chybě

Dalším nedostatkem je, že pokud zastavím spuštěný příkaz, zavře se karta, což nechci. Potřebuji být schopen zastavit příkaz a znovu jej spustit na stejné kartě.

Co je špatného na scénáři? Existuje jiný jednodušší způsob, jak to udělat?

Poznámka:Pokud jsem z příkazu odstranil část (-e “”bash -c ${cmds[i]};bash””), otevře karty v daném adresáři a pojmenuje je bez chyb.

-Upravit-1:

Po použití odpovědi @Tuknutx níže a úpravě skriptu se chyba již nezobrazuje, ale dává mi to bash: rails c: command not found a rails s vytvoří novou aplikaci rails místo spouštění serveru rails, používám .rmvrc k výběru sady drahokamů, jakmile je tato složka zpřístupněna.

Přijatá odpověď:

Doporučil bych použít tmux pomocí tmuxinator , udělá práci za vás a vy se můžete spolehnout na terminator rozvržení také!

Pro terminator rozložení pokladny Odpověď mhnagaoky zde také askubuntu:

  1. Po nastavení rozvržení klikněte pravým tlačítkem na libovolné pozadí terminálu a vyberte PředvolbyRozvržení a klikněte na Přidat tlačítko.

  2. Zadejte název a stiskněte Zavřít .

  3. Tím by měl vzniknout zmíněný ~/.config/terminator/config soubor.

  4. Nyní můžete spustit terminátor pomocí uloženého rozložení pomocí:terminator -l yourLayout (nahraďte vaše rozvržení s čímkoli, co jste
    vybrali v kroku 2).

  5. (volitelné) Upravte ~/.config/terminator/config soubor tak, že tam, kde je napsáno [layouts] a vnořený pod ním [[yourLayout]] , přejmenujte vaše rozvržení na výchozí a odebrat/přejmenovat předchozí výchozí rozložení. Nyní, když se Terminátor spustí bez jakýchkoli parametrů,
    načte váš vlastní [[default]] rozložení!


Ubuntu
  1. Zobrazení a smazání historie terminálu v Ubuntu 20.04 – nejlepší metoda?

  2. Rozdíl mezi ‚A‘ na příkazovém řádku (bash)??

  3. Ssh na více hostitelů a spustit příkaz?

  1. Zachovat historii Bash ve Windows s více terminály?

  2. | V příkazu terminálu?

  3. Uložit a obnovit své karty terminálu?

  1. Rozdíl mezi symboly „&“ a „;“ ve standardním Bash terminálu?

  2. Spouštění příkazů Linuxu na pozadí a v popředí

  3. eval příkaz v Bash a jeho typické použití