Nu găsesc .bash_login și .bash_profile
root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~#
Există întotdeauna numai un fișier .bashrc și .bash_profile pentru fiecare utilizator?
Și, .bashrc și .bash_profile se găsesc întotdeauna în directorul / home / „nume utilizator”?
Răspuns
Singurele la care bash se uită în mod implicit se află în directorul de acasă al utilizatorului, da. Există, de asemenea, o singură sursă pentru ei în Linux – / etc / skel. Totuși, directorul de acasă al utilizatorului nu trebuie să fie sub / home.
Văd că v-ați editat întrebarea pentru a vă întreba unde sunt fișierele .bash_login și .bash_profile. la promptul #
, voi presupune că executați acest lucru ca root. În acest caz, fișierele dvs. sunt
/root/.bash_history /root/.bashrc
Vedeți răspunsul meu original de mai sus cu privire la directorul de acasă al unui utilizator – nu este întotdeauna / acasă; în acest caz, directorul de acasă al rădăcinii este /root
.
Răspuns
Conform man bash
:
Când se invocă bash ca un shell de conectare interactiv sau ca un shell non-interactiv cu opțiunea –login, citește și execută mai întâi comenzi din fișierul / etc / profile, dacă acel fișier există. După ce a citit fișierul, caută ~ / .bash_profile, ~ / .bash_login și ~ / .profile, în această ordine, și citește și execută comenzi din prima care există și este lizibilă.
~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file
Există și /etc/bashrc
( /etc/bash.bashrc
în Linux bazat pe Debian) care conține System wide functions and aliases
. În mod implicit, acest lucru este setat, chiar și pentru shell-uri non-interactive, non-login.
EDIT:
tilde
din căi indică home directory
al utilizatorului conectat în prezent. Bash poate folosi doar una dintre ~/.bash_profile, ~/.bash_login, or ~/.profile
(per utilizator conectat în prezent), în această ordine, pentru citirea și executarea comenzilor. (Sistemele de operare bazate pe Debian de obicei nu au ~/.bash_profile or ~/.bash_login.
Folosesc fișierul ~/.profile
. Acest fișier explică faptul că va fi citit și utilizat cu excepția cazului în care ~/.bash_profile or ~/.bash_login
sunt create.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
există.
Comentarii
- În ce mod răspunde acest lucru la întrebarea mea?
- @BROY Răspunde la întrebarea pe care ar fi trebuit să o puneți mai degrabă decât cea pe care ați făcut-o.
- Am văzut unii oameni care pun un fișier .bash_profile în directoarele proiectului, într-adevăr asta este preluat de bash? Nu ' nu cred că ' se presupune că se întâmplă în mod implicit.
Răspuns
bashrc
locația fișierului este dependentă de distro … Iată o listă de bază pentru sistem bashrc
:
/etc/bashrc
(Redhat, Fedora, etc)
/etc/bash.bashrc
(Debian, Ubuntu, Linux Mint, Backtrack, Kali etc)
/etc/bash.bashrc.local
(Suse, OpenSuse, etc)
Apoi există un singur utilizator privat bashrc
, care, în cea mai mare parte, este stocat în ~/.bashrc
pentru practic fiecare distribuție … Dacă nu aveți una dintre distribuțiile enumerate sau aveți un sistem special, puteți oricând să căutați bashrc
locație pe google pentru distribuția sau sistemul respectiv …
Cu stimă,
Interesant …
Răspuns
După cum au afirmat deja oamenii, puteți găsi un schelet de bashrc în /etc/skel/.bashrc. Dacă utilizatorii diferiți doresc configurații bash diferite, trebuie să puneți un fișier .bashrc în acel folder de acasă al utilizatorilor.
Când vine vorba de .bash_profile și .bash_login, utilizatorul trebuie să le creeze manual și să le conecteze prin bashrc . bash_profile și bash_login există pentru a crea o senzație mai organizată pentru diferitele setări pe care le încărcați. Păstrez personal toate pseudonimele mele în bash_profile, așa că nu trebuie să sortez o mizerie în bashrc pentru a face o editare rapidă.
Iată un exemplu de ceea ce ați avea în fișierul dvs. .bashrc: / p>
if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi