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:
Po nastavení rozvržení klikněte pravým tlačítkem na libovolné pozadí terminálu a vyberte Předvolby → Rozvržení a klikněte na Přidat tlačítko.
Zadejte název a stiskněte Zavřít .
Tím by měl vzniknout zmíněný
~/.config/terminator/config
soubor.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).(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í!