Czy jest ~/.bashrc
to jedyne miejsce do określenia specyficznych dla użytkownika zmiennych środowiskowych, aliasów, modyfikacji PATH
zmiennej itp.?
Pytam, bo wydaje się, że ~/.bashrc
to bash
tylko, ale istnieją też inne powłoki…
źródło
Czy jest ~/.bashrc
to jedyne miejsce do określenia specyficznych dla użytkownika zmiennych środowiskowych, aliasów, modyfikacji PATH
zmiennej itp.?
Pytam, bo wydaje się, że ~/.bashrc
to bash
tylko, ale istnieją też inne powłoki…
Plik $HOME/.profile
jest używany przez wiele powłok, w tym bash, sh, dash i ewentualnie inne.
Ze strony podręcznika użytkownika bash:
Gdy bash jest wywoływany jako interaktywna powłoka logowania, ... najpierw czyta i wykonuje polecenia z pliku / etc / profile, jeśli ten plik istnieje. Po odczytaniu tego pliku szuka ~ / .bash_profile, ~ / .bash_login i ~ / .profile, w tej kolejności, i odczytuje i wykonuje polecenia z pierwszego, który istnieje i jest czytelny.
csh i tcsh wyraźnie nie patrzą, ~/.profile
ale te powłoki są trochę przestarzałe.
Run command as a login shell
. Musisz także usunąć~/.bash_profile
lub ustawić go jako źródło~/.profile
.$HOME/.profile
z wnętrza swojego Zsh.zshrc
. Mam tendencję do umieszczania wszystkich moich przenośnych rzeczy w powłoce,.profile
a następnie mogę dzielić się nimi w dowolnym środowisku, w którym mogę wskoczyć.~/.profile
jest właściwym miejscem dla środowiska definicje zmiennych i programów graficznych, które nie mają być uruchamiane podczas logowania (npssh-agent
,screen -m
). Jest wykonywany przez powłokę logowania, jeśli jest to powłoka typu Bourne'a (sh, ksh, bash).~/.zprofile
Zamiast tego działa Zsh , a Csh i tcsh~/.login
.Jeśli logujesz się w X menedżerze wyświetlania (xdm, gdm, kdm, ...), to, czy
~/.profile
zostanie uruchomione, zależy od tego, jak menedżer wyświetlania i być może środowisko pulpitu zostały skonfigurowane przez twoją dystrybucję. Jeśli logujesz się w ramach „sesji niestandardowej”, zwykle się to wykonuje~/.xsession
.~/.bashrc
jest właściwym miejscem dla ustawień specyficznych dla bash, takich jak aliasy, funkcje, opcje powłoki i monity. Jak sama nazwa wskazuje, jest specyficzna dla bash; csh ma~/.cshrc
, ksh ma~/.kshrc
, a zsh ma <drumroll>~/.zshrc
.Zobacz także:
Różnica między .bashrc i .bash_profile
Których plików instalacyjnych należy użyć do skonfigurowania zmiennych środowiskowych za pomocą bash?
Zsh nie uderza ~ / .profile
źródło
.zlogin
oprócz tego,.zprofile
które działa później.zshrc
(ale tylko w przypadku powłok logowania). Zobacz FAQ ZSHNie ma wspólnego pliku, ale możesz sprawić, by każda powłoka odczytała ze wspólnego pliku.
bash
czyta z.bash_profile
lub.bashrc
zsh
czyta z.zprofile
i.zshrc
ksh
czyta z.profile
lub$ENV
Oto co robię:
~/.env
~/.shrc
~/.bashrc
~/.zshenv
~/.zshrc
~/.profile
~/.bash_profile
~/.zlogin
~/.zprofile
Jeśli masz dostęp do systemu root, innym sposobem jest skonfigurowanie
pam_env
.Możesz włożyć
w odpowiednim
/etc/pam.d
pliku (np./etc/pam.d/common-session
na Debianie), a następnie, gdy użytkownik się zaloguje,PAM
odczyta zmienne środowiskowe~/.env
.Pamiętaj, że w
pam_env
zasadzie obsługuje tylkoVAR=value
wpisy.Więcej informacji:
źródło
Nie ma czegoś takiego jak plik konfiguracyjny środowiska dla różnych powłok, ponieważ jego powłoka określa sposób ich definiowania.
W csh używasz
setenv
w bash, którego używaszexport
do ich definiowania.W każdym razie możesz napisać własny plik konfiguracyjny i dołączyć go
source
do plików dot. Twoich powłok.źródło