Var finns .bashrc-filen i Linux?

Jag hittar inte min .bash_login och .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:~# 

Finns det alltid bara en .bashrc- och .bash_profile-fil för varje användare?

Och finns .bashrc och .bash_profile alltid i katalogen / home / ”användarnamn”?

Svar

De enda som bash tittar på som standard finns i användarens hemkatalog, ja. Det finns också vanligtvis en enda källa för dem i Linux – / etc / skel. Användarens hemkatalog behöver dock inte vara under / home.

Jag ser att du har redigerat din fråga för att fråga var dina .bash_login- och .bash_profile-filer finns. Baserat på # -prompten, jag antar att du kör det här som root. I så fall är dina filer

/root/.bash_history /root/.bashrc 

Se mitt ursprungliga svar ovan angående en användares hemkatalog – det är inte alltid / hem; i det här fallet är rotens hemkatalog /root .

Svar

Enligt man bash:

När bash anropas som ett interaktivt inloggningsskal eller som ett icke-interaktivt skal med alternativet –login läser och körs först kommandon från filen / etc / profilen, om den filen finns. Efter att ha läst den filen letar den efter ~ / .bash_profile, ~ / .bash_login och ~ / .profile i den ordningen och läser och utför kommandon från den första som finns och är läsbar.

~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file 

Det finns också /etc/bashrc ( /etc/bash.bashrc i Debian-baserad Linux) som innehåller System wide functions and aliases. Som standard är detta inställt, även för icke-interaktiva, icke-inloggningsskal.

EDIT:

tilde i sökvägarna indikerar home directory för den för närvarande inloggade användaren. Bash kan bara använda en av ~/.bash_profile, ~/.bash_login, or ~/.profile (per för närvarande inloggad användare), i den ordningen, för att läsa och utföra kommandon. (Debianbaserade operativsystem har vanligtvis inte ~/.bash_profile or ~/.bash_login. De använder filen ~/.profile. Den här filen förklarar att den kommer att läsas och användas om inte ~/.bash_profile or ~/.bash_login skapas.

#~/.profile: executed by the command interpreter for login shells.

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login finns.

Kommentarer

  • På vilket sätt svarar detta på min fråga?
  • @BROY Det svarar på den fråga du borde ha ställt snarare än den du gjorde.
  • Jag har sett att vissa människor lägger en .bash_profile-fil i projektkataloger, blir det verkligen plockat upp av bash? Jag ' tänker inte att ' ska ha hänt som standard.

Svar

Din bashrc filens plats är distroberoende … Här är en grundläggande lista för systemet bashrc:
/etc/bashrc (Redhat, Fedora, etc)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali etc)
/etc/bash.bashrc.local (Suse, OpenSuse, etc)
Sedan finns det den privata enanvändaren bashrc, som för det mesta lagras i ~/.bashrc för i princip varje distro … Om du inte har någon av de distros som listas eller har ett speciellt system kan du alltid slå upp bashrc plats på google för det distro eller systemet …
Hälsningar,
Intressant …

Svar

Som folk redan har sagt kan du hitta ett skelett av bashrc i /etc/skel/.bashrc. Om olika användare vill ha olika bash-konfigurationer måste du placera en .bashrc-fil i den användarens hemmapp.

När det gäller .bash_profile och .bash_login måste användaren skapa dem manuellt och länka dem via bashrc . bash_profile och bash_login finns för att skapa en mer organiserad känsla för de olika inställningarna du laddar. Jag behåller personligen alla mina alias i bash_profile så att jag inte behöver sortera en röra i bashrc för att göra en snabb redigering.

Här är ett exempel på vad du skulle ha i din .bashrc-fil:

if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi 

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *