Bash neden bazen $ HOME'umun doğru dizin olmadığını düşünüyor?


4

Başlığın dediği gibi, bash bazen $ HOME'umu yanlış tanımlıyor gibi görünüyor. Bu, şimdi geniş darbelerde tekrarlayacağım görünüşte benzersiz bir olay dizisinden sonra kırpıldı.

  • OS X 10.6'nın normal, yerel hesapla çalıştırılması
  • İş hesabımı Active Directory'ye bağlar
  • Sorunsuz bir şekilde çok zaman geçiyor
  • Ruby kurulumlarını yönetmek için rvm'yi kurun (bu daha sonra önemli hale gelir)
  • Birkaç gün önce OS X 10.7'ye yükseltildi
  • Başarılı bir kurulumdan sonra, giriş yapmayı denedi, şifrenin sıfırlanmasına asla izin vermeyen "Şifreyi sıfırla" iletişim kutusuyla sunuldu. Yeni şifre girildikten sonra kutuyu kolayca sallarsınız.
  • Çok googling yapıldı.
  • Çok daha fazla googling yapıldı.
  • Küfür vardı.
  • Kök olarak giriş yapmış, yeni hesap oluşturmuş, yönetici olarak ayarlanmış, silinmiş / Kullanıcılar / [yeni hesap], yeniden adlandırılmış / Kullanıcılar / [eski hesap] olarak / Kullanıcılar / [yeni hesap]
  • Kökten çıkış yaptım, hiç sorun yaşamadan yeni hesaba giriş yaptım

OS X’ten sonra Keychain ve diğer sistem düzeyindeki şeyleri güncellemek için birkaç kez bir hesap şifremi istedikten sonra, her zamanki gibi işe geri döndü.

Açılan Terminal, cd proje klasörüne "rails server" ı denedi ve şöyle sunuldu:

/usr/local/lib/ruby/1.9.1/rubygems/dependency.rb:247:in to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError) from /usr/local/lib/ruby/1.9.1/rubygems/dependency.rb:256:in to_spec'       /usr/local/lib/ruby/1.9.1/rubygems.rb:1210:in dan gem' from /usr/local/bin/rails:18:in '

Birkaç alıştırma yaptım, rm -rf ~ / .rvm ve tekrar kurmaya karar verdim. Rvm yükleyicide bir --trace çalıştırmak, bu satırda öldüğünü gösterir:

mkdir: / Kullanıcılar / [eski hesap]: İzin reddedildi

--Trace günlüğü üzerinden geriye doğru kaydırırken, / Users / [eski hesap] 'dan daha fazla bahsederim. Kurulum betiğini incelerken, rahatsız edici satır mkdir'i çalıştırmaya çalışırken "$ {HOME} /. Rvm" ye bakıyor. Kafamdaki karışıma, kayıtta / Users / [new account] 'dan da bahsettim.

.Bash_profile dosyamda yeni bir HOME vermeyi denedim.

Neden / Kullanıcılar / [eski hesap] 'ın hala tekmeleyeceğini tahmin edebilen var mı?


Nedir dscl . -read /Users/$USER (≥10.5) veya niutil -read . /users/$USER (≤10.4) evin olduğunu mu söylüyor? (Alternatif olarak, Directory Utility.app (≥10.5) veya NetInfo Manager.app (≤10.4) seçeneğini işaretleyin.)
ephemient

dscl ev olarak raporlar NFSHomeDirectory: /Users/adam, beklediğiniz budur.
Adam Yanalunas

Yanıtlar:


2

En zarif çözüm olmasa da bu sorunu çözdüm.

Rvm hiç çalışmayacak gibi rvm implode bir seçenek değildi. Bunun yerine sadece koştum rm -rf ~/.rvm ve yeniden yüklenen rvm.

İlgisiz olabilir ama ben de indirmek zorunda kaldım. osx-gcc-yükleyici ve ayarla export CC=/usr/bin/gcc-4.2 rvm ve yakut kurmadan önce doğru davranırdı. Kullanmak with-gcc=clang kullanılabilir yapılar sağlamadı.


0

Bir şey $ HOME Değişkeninizi gizliyor.

Bunu .bashrc dosyanıza ekleyin

 declare -x -r HOME=/correct/home/path
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.