Birden fazla terminal sekmesini açmam, onlara başlıklar vermem, bir dizine gitmem ve her sekmeyi bir komut çalıştırmam gerekiyor.
Linux ve kabuk komut dosyalarında yeniyim, çevrimiçi arama yaptıktan ve bazı çözümleri kontrol ettikten sonra, bu komut dosyasını yaptım ( aşağıdaki cevaplara dayanarak DÜZENLENDİ ):
#!/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
Sekmeleri açar, adlandırır, ancak bu hatayı oluşturan komutları yürütemez:
Bu terminal için alt süreç oluşturulurken bir hata oluştu
Başka bir eksiklik ise, çalışan komutu durdurursam, istemediğim sekmeyi kapatır. Komutu durdurup aynı sekmede tekrar çalıştırabilmem gerekiyor.
Senaryoda yanlış olan ne? Bunu yapmanın daha basit bir yolu var mı?
Not: (-e "\" bash -c $ {cmds [i]}; bash \ "") bölümünü komuttan kaldırırsam, belirtilen dizindeki sekmeleri açar ve hatasız olarak adlandırır.
-Düzenleme-1:
Aşağıdaki @Tuknutx yanıtı uyguladıktan ve komut dosyasını düzenledikten sonra hata artık görünmüyor, ancak bana veriyor bash: rails c: command not found
ve rails s
raylar sunucusunu başlatmak yerine yeni bir raylar uygulaması oluşturuyor, bu klasöre erişildiğinde bir gemset seçmek için .rmvrc kullanıyorum .
cmds[1]="'ping 192.168.9.9'"
bana aynı hatayı verir ama tek tırnak kaldırarak çözdü. Yani ben yazarsam cmds[1]="ping 192.168.9.9"
çalışır.
tab=" --tab-with-profile=Default"
??