GNOME-terminal bash başladığında, komut yürütme söz konusu olduğunda döngü dışına çıktı: sadece girdi ve çıktıyı yönetir. Yani ~/.bashrc
yüklendikten sonra bir şeyi çalıştırmak için Bash'in işbirliğine ihtiyacınız olacak .
İlk olarak, çoğu durumda, aslında komutları çalıştırmanız gerekmez ~/.bashrc
. Örneğin, belirli bir dizinde bir terminal açmak basitçe ile yapılabilir cd /foo/bar && gnome-terminal
. Sen benzer şekilde ortam değişkenleri ayarlayabilirsiniz: VAR=value gnome-terminal
. ( ~/.bashrc
Ortam değişkenlerinizi geçersiz kılarsa, yanlış yapıyorsunuz: ortam değişken tanımları aittir~/.profile
)
Terminalde komutu çalıştırabilmek için ama daha önce ~/.bashrc
bunu yapabilirsiniz
gnome-terminal -x sh -c 'command1; command2; exec bash'
Birden fazla sekme kullanmak istiyorsanız, -e
yerine kullanmanız gerekir -x
. Gnome-terminal bir boşlukta -e
çalıştırmak yerine, boşluklardaki argümanlara yardımcı olmaz . Bununla birlikte, içine boşluk bırakmamaya dikkat ederseniz, bir kabuk komutu yazabilirsiniz. En azından gnome-terminal 2.26 ile, sekmeleri kullanabilirsiniz, ancak ( <TAB>
değişmez bir sekme karakteri ile değiştirin ):
gnome-terminal -e 'sh -c command1;command2;exec<TAB>bash'
gnome-terminal --tab -e 'sh -c command1;<TAB>exec<TAB>bash' \
--tab -e 'sh -c command2;<TAB>exec<TAB>bash'
Peşinde komutları çalıştırmak için gereğini yaparsanız ~/.bashrc
, yapmak o komutları çalıştırın. Örneğin, sonuna aşağıdaki kodu ekleyin ~/.bashrc
:
eval "$BASH_POST_RC"
Ardından bashrc'nizden sonra (gerçekten, sonunda) bir kod çalıştırmak için:
gnome-terminal -x sh -c BASH_POST_RC=\''command1; command2'\''; exec bash'
veya (alıntı üzerinde daha az ağır)
BASH_POST_RC='command1; command2' gnome-terminal
Bu şekilde yapmayı özellikle tavsiye etmeme rağmen , komut satırına zaten girilmiş belirli bir metin ile bir uçbirime nasıl başlanır? Bölümünde belirtilen tekniklerle ilgilenebilirsiniz.
.