Hvor findes .bashrc-filen i Linux?

Jeg finder ikke min .bash_login og .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:~# 

Er der altid kun en .bashrc- og .bash_profile-fil til hver bruger?

Og findes .bashrc og .bash_profile altid i kataloget / home / “brugernavn”?

Svar

De eneste, som bash ser på som standard, er i brugerens hjemmekatalog, ja. Der er typisk også en enkelt kilde til dem i Linux – / etc / skel. Brugerens hjemmekatalog behøver dog ikke at være under / home.

Jeg kan se dig har redigeret dit spørgsmål for at spørge, hvor dine .bash_login- og .bash_profile-filer er. Baseret på # -prompten vil jeg antage, at du kører dette som root. I så fald er dine filer

/root/.bash_history /root/.bashrc 

Se mit originale svar ovenfor angående en brugers hjemmekatalog – det er ikke altid / hjem; i dette tilfælde er rodkataloget /root .

Svar

I henhold til man bash:

Når bash påberåbes som en interaktiv login-shell eller som en ikke-interaktiv shell med indstillingen –login, læser den og udfører først kommandoer fra filen / etc / profilen, hvis filen findes. Efter at have læst filen, ser den efter ~ / .bash_profile, ~ / .bash_login og ~ / .profile i den rækkefølge og læser og udfører kommandoer fra den første, der findes og kan læses.

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

Der er også /etc/bashrc ( /etc/bash.bashrc i Debian-baseret Linux), som indeholder System wide functions and aliases. Som standard er dette indstillet, selv for ikke-interaktive, ikke-login-skaller.

EDIT:

tilde i stierne angiver home directory for den aktuelt loggede bruger. Bash er kun i stand til at bruge en af ~/.bash_profile, ~/.bash_login, or ~/.profile (pr. Aktuelt logget bruger) i den rækkefølge til læsning og udførelse af kommandoer. (Debian-baserede operativsystemer har typisk ikke ~/.bash_profile or ~/.bash_login. De bruger filen ~/.profile. Denne fil forklarer, at den læses og bruges, medmindre ~/.bash_profile or ~/.bash_login oprettes.

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

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

Kommentarer

  • På hvilken måde besvarer dette mit spørgsmål?
  • @BROY Det svarer på det spørgsmål, du burde have været stillet snarere end det, du gjorde.
  • Jeg har set nogle mennesker lægge en .bash_profile-fil i projektmapper, bliver det virkelig hentet af bash? Jeg ' tror ikke, at ' antages at ske som standard.

Svar

Din bashrc fil “placering er distroafhængig … Her er en grundlæggende liste til systemet bashrc:
/etc/bashrc (Redhat, Fedora osv.)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali osv.)
/etc/bash.bashrc.local (Suse, OpenSuse osv.)
Så er der den private enkeltbruger bashrc, som for det meste er gemt i ~/.bashrc for stort set alle distroer … Hvis du ikke har en af distroerne, der er anført, eller har et specielt system, kan du altid slå op bashrc placering på google for det distro eller system …
Hilsen,
Interessant …

Svar

Som folk allerede har sagt, kan du finde et skelet af bashrc i /etc/skel/.bashrc. Hvis forskellige brugere ønsker forskellige bash-konfigurationer, skal du placere en .bashrc-fil i brugerens hjemmemappe.

Når det kommer til .bash_profile og .bash_login, skal brugeren oprette dem manuelt og linke dem via bashrc . bash_profile og bash_login findes for at skabe en mere organiseret fornemmelse for de forskellige indstillinger, du indlæser. Jeg gemmer personligt alle mine aliaser i bash_profile, så jeg behøver ikke sortere et rod i bashrc for at foretage en hurtig redigering.

Her er et eksempel på, hvad du ville have i din .bashrc-fil:

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *