$ HOME ortam değişkeni her zaman bir Linux sisteminde ayarlanmış mı?


13

Makinenin bir Linux çekirdeği çalıştırdığını varsayarsak, oturumlar Bash kabuğunu kullanır ve her şey varsayılan yapılandırmaları kullanır (hiçbir kullanıcı yapılandırma dosyalarında herhangi bir değişiklik yapmadı), $HOMEortam değişkeninin her zaman ayarlandığını varsayabilir miyiz ?


nobodyevi yok! (Bu nobody, kullanıcı.)
devnull

1
@devnull bir eve sahip olmamak (ör. varolmayan bir giriş dizinine sahip olmak), $ HOME env anlamına gelmez. değişken ayarlanamaz. Ayarlanmışsa, varolan bir dizini veya ana girişe işaret etmek zorunda değildir/etc/passwd
Anthon

Yanıtlar:


17

Evet. POSIX şartname gerektirir $ HOME için bir değer ayarlamak için OS:

HOME
Sistem bu değişkeni oturum açma sırasında kullanıcının ana dizininin bir yol adı olacak şekilde başlatır. Bkz. Pwd.h.

Kullanıcı ne olacak nobody?

# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/

nobodyGerçek bir ev olmamasına rağmen , HOMEkök dizine ayarlanır.


Ayarlayan kabuk değil HOME- ortak mermilerin hiçbiri zsh dışında değil. Sizi oturum açan programdır (cron gibi yöntemler dahil).
Gilles 'SO- kötü olmayı bırak'
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.