“HOME” değişkenimi değiştirdim ve şimdi geri değiştirmek için “~ / .bash_profile” bulamıyorum


15

Mac'imdeki ortam değişkenleriyle uğraşıyordum, nasıl kullanılacağını öğrenmeye çalışıyordum ve nano ~/.bash_profiledaha sonra HOME=/Users/MyCompName/Desktopev değişkenimi güncellemek için satırı eklediğim komutu kullandım .

Bu değişiklik işe yaradı ve printenvtüm ortam değişkenlerini görüntülemek için kullandığımda ancak değişmeye gittiğimde görülebilirHOME geri dönmeye gittiğimde ~/.bash_profileartık bulamadım . O nereye gitti?


9
Temelde ~anlamına gelir$HOME
el.pescado

6
... yani yeniden tanımlarsanız $HOME, ~yeniden tanımlanır
el.pescado

Yanıtlar:


32

Aynı yerde.

Değişim ~böyle bir şeye genişlemeden önce, /Users/YourUserNamekabuk .bash_profileorada bulur . Dosya kaynaklandıktan sonra ~başka bir yola doğru genişler, böylece ~/.bash_profileartık ilgili dosyayı göstermez. Bunun nedeni bu bağlamda olduğunu ~yollarla $HOME.

Gerçek giriş dizininizin tam yolunu biliyorsanız, bunun yerine kullanabilirsiniz ~. Mac'te muhtemelen şöyle görünecektir:

nano /Users/YourUserName/.bash_profile

Ya da Bash'inizin ev dizininizi sadece bakmak yerine kullanıcı veritabanında aramasına izin verin $HOME. Bu, hiçbir şeyi hatırlamanızı gerektirmez:

nano ~YourUserName/.bash_profile

Senin değiştirme HOMEgerçek ev dizini değiştirmeden değişken iyi bir fikir değildir. Herhangi bir kullanıcının ana dizinini değiştirmek yönetimsel bir görevdir, genellikle normal kullanıcılar bunu yapamaz.


Harika tekrar teşekkürler bulmak mümkün! "Dosya kaynaklandıktan sonra" ile kastettiğinizi ayrıntılarıyla düşünür müsünüz? Bir dosyanın kaynaklanmak için ne anlama geldiğini bilmiyorum
Matt

6
@Matt'ın .bash_profilebir Bash betiği vardır. Bir komut dosyasını çalıştırabilir veya kaynak oluşturabilirsiniz. Çalıştırmak, alt kabuk oluşturmak ve komut dosyasını orada satır satır yürütmek anlamına gelir. Kaynak oluşturma, komut dosyasını geçerli kabukta yürütmek anlamına gelir . Geçerli kabuğu etkilemeyi amaçlayan bazı görevler alt kabukta yürütülemez; geçerli kabuk için bir değişkenin değiştirilmesi bunlardan biridir. Bu nedenle bazı dosyalar kaynaklanır, alt kabukta çalıştırılmaz. Bir dosyayı manuel olarak kaynaklamak için . file( .POSIX ile belirtilir) veya source file( sourcebirkaç kabuk tarafından anlaşılan POSIX olmayan bir uzantıdır).
Kamil Maciorowski


2
Eğer (Matt) giriş dizininizin nerede olduğunu bilmiyorsanız, nano ~YourUserName/.bash_profilebunun yerine kullanabilirsiniz . Bu, ana dizininizi yalnızca $ HOME yerine kullanıcı veritabanında arar.
Stig Hemmer

1
@StigHemmer Cevap artık topluluk wiki'si. Yararlı yorumunuz asimile edildi. Teşekkür ederim.
Kamil Maciorowski
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.