Unde se găsește fișierul .bashrc în Linux?

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 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *