~ / .bashrc yeni bir lxterminal pencerede kaynaklanmadı


3

~ / .Bashrc beğenime bazı çizgiler ekledim

export JAVA_HOME=/opt/jdk1.6.0_22

Kaynak verdim:

$ source ~/.bashrc
$ env | grep 'JAVA'
JAVA_HOME=/opt/jdk1.6.0_22

Sonra evimde komut dosyaları adında bir klasör altında basit bir bash betiği oluşturdum:

#!/bin/bash

echo 'start'
echo $(env | grep HOME)
echo $(env | grep LOGNAME)
echo $(env | grep JAVA)
echo 'exiting'

sleep 5
exit

Şimdi, doğrudan başlattıysam beklenen çıktıyı alırım

$ cd ~/scripts
$ bash 'myScript.sh'
start
HOME=/home/foo/.config
LOGNAME=foo
JAVA_HOME=/opt/jdk1.6.0_22
exiting

Ancak, aşağıdaki komutu kullanarak farklı bir şekilde çağırmam gerekiyor ve ne yazık ki aynı şekilde çalışmıyor:

$ lxterminal --command "bash /home/foo/scripts/myScript.sh"
start
HOME=/home/foo XDG_CONFIG_HOME=/home/foo/.config
LOGNAME=foo

exiting

Bu şekilde bashrc kaynaklı değil gibi görünüyor. Ben de .profile ile denedim, ancak aynı sonucu. Yukarıdaki komut ile çağrıldığında lxterminal kaynaklı bir dosya var mı?

Bu komuta ihtiyacımın sebebi, bu komut dosyalarını başlatmak için Başlat menüsüne eklediğim linkler / rampalar aracılığıyla başlatmak ve onların lxterminal bir pencerede yürütülmesi gerekiyor.

Yanıtlar:


4

bashEtkileşimli modu kullanmaya zorlamayı deneyin :

lxterminal --command "bash -i /home/foo/scripts/myScript.sh"

Bu olur çünkü:

  • ~/.bashrc etkileşimli modda okunur;

  • ~/.bash_profile, ~/.bash_loginve ~/.profilegiriş modunda okunur.

Bkz Invocation içinde adam bash .


Tavsiyen için teşekkürler: Bir cazibe gibi çalıştı. Ve adam kısmı için de teşekkürler;) Bazen ne arayacağınızı tam olarak bilmediğiniz bir şey bulmak zor olabilir ...
Luca Borrione
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.