Bir terminal açtığımda tüm bu “declare -x…” hatlarına ne sebep oluyor?


15

Fedora makinemdeki bir terminali açtığımda (veya ssh içine), istemden önce böyle bir satır alıyorum:

declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…

Buna ne sebep oluyor? Bu benim düzenledikten sonra olmuş olabilir .bashrc, ama tüm değiştirdiğim "PATH =" başka bir dizin yolu eklemek olduğuna inanıyorum.

Güncelleme (yanıt heavyd cevabını): Ben grep'ed ~/.bashrc, ~/.bash_profileve /etc/bashrc'bir açıklamadan' ve bulunan boşuna.

Baktım /etc/bashrcçünkü ~/.bashrcaşağıdakileri içeriyor:

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

Yukarıdaki kod "PATH =…", "export…" ve "alias…" dışında hiçbir şey ~/.bashrcveya ~/.bash_profilekomut dosyalarında göremiyorum .

.bashrcBetiğimi (" bash ~/.bashrc" kullanarak ) veya .bash_profilebetiği çalıştırdığımda "bildirimler" listesini görüyorum, ancak hata iletisi görmüyorum. (Kaçarsam hiçbir şey göremiyorum /etc/bashrc.)

~./bash_profile çok basit:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

Çözüldü : Teşekkürler andrew.n , öneriniz onu izlememe yardımcı oldu. Tüm bu "declare -x…" satırları biri çalışırsa export(kendi başına) çıkar ve ben de "export" ve "PATH =…" arasına yanlışlıkla CR ekledim .bashrc.


bkz. /etc/profile.d/
freiheit

/Etc/profile.d/ içinde ne aramalıyım? Tüm bu dosyalar nedir? (Belki de bu konuda yeni bir soru yaratmalıyım.)
Daryl Spitzer

Teşekkürler. Benim durumumda ihracat ve PATH arasındaki CR de oldu :)
marlar

Yanıtlar:


8

Çalıştırmak

env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo

ayrıntılı modda bash başlatmak için. Bu, başlatma dosyasının her satırını okunduğunda ve başlatma dosyalarının her satırı yürütüldüğünde yazdırır ve çıktıyı adlı bir dosyaya kopyalar foo. Sonra fooneyin declare -xçağrıldığını görmek için bakabilirsiniz .


6

Pek çok declare ...ifadenin, exporttartışmasız bir yerde çalıştırılmasının sonucu olduğu anlaşıldı.

Yanlışlıkla yeni bir satır buldum .bashrc:

export
VARIABLE=value

Hangisi olmalıydı

export VARIABLE=value

Evet. Bu doğru cevap. Terminalinize tek başına "dışa aktar" yazarsanız, aynı declare -x çıktısının görüntülendiğini görürsünüz.
Sterling Bourne

Evet, bu benim için geçerlidir! İhracat içeriğini yanlışlıkla bir sonraki yeni satıra koyuyorum. Onları aynı satıra koydum ve işe yarıyor.
18'de fanchyna

3

Evet, muhtemelen .bashrc'nizden geliyor olabilir, çünkü düzenlediniz. Komut dosyasına çıktısının çıkmasına neden olabilecek bir sözdizimi hatası eklemiş olabilirsiniz.

Aşağıdakileri yazarak bu satırların .bashrc dosyanızda bulunduğundan emin olabilirsiniz:

grep declare ~/.bashrc

Konsola yazdırılan en az 4 satır görmelisiniz. Ayrıca komut isteminden .bashrc komut dosyanızı çalıştırmayı ve herhangi bir hatanın çıkıp çıkmadığını görmeyi de deneyebilirsiniz:

bash ~/.bashrc
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.