Hvor er .bashrc-filen funnet i Linux?

Jeg finner ikke .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 det alltid bare én .bashrc- og .bash_profile-fil for hver bruker?

Og finnes .bashrc og .bash_profile alltid i katalogen / home / «brukernavn»?

Svar

De eneste bash ser på som standard er i brukerens hjemmekatalog, ja. Det er også vanligvis en enkelt kilde for dem i Linux – / etc / skel. Brukerens hjemmekatalog trenger ikke være under / home.

Jeg ser deg «har redigert spørsmålet ditt for å spørre hvor .bash_login- og .bash_profile-filene er. Basert på # -prompten, vil jeg anta at du kjører dette som root. I så fall er filene dine

/root/.bash_history /root/.bashrc 

Se mitt opprinnelige svar ovenfor angående brukerens hjemmekatalog – det er ikke alltid / hjemme; i dette tilfellet er rotens hjemmekatalog /root .

Svar

I følge man bash:

Når bash blir påkalt som et interaktivt påloggingsskall, eller som et ikke-interaktivt skall med alternativet –login, leser og utfører det først kommandoer fra filen / etc / profilen, hvis den filen eksisterer. Etter å ha lest den filen, ser den etter ~ / .bash_profile, ~ / .bash_login og ~ / .profile, i den rekkefølgen, og leser og utfører kommandoer fra den første som eksisterer og er lesbar.

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

Det er også /etc/bashrc ( /etc/bash.bashrc i Debian-basert Linux) som inneholder System wide functions and aliases. Som standard er dette satt, selv for ikke-interaktive, ikke-påloggende skjell.

EDIT:

tilde i banene indikerer home directory for den brukeren som er pålogget. Bash er bare i stand til å bruke en av ~/.bash_profile, ~/.bash_login, or ~/.profile (per for øyeblikket pålogget bruker), i den rekkefølgen, til å lese og utføre kommandoer. (Debian-baserte operativsystemer har vanligvis ikke ~/.bash_profile or ~/.bash_login. De bruker filen ~/.profile. Denne filen forklarer at den vil bli lest og brukt med mindre ~/.bash_profile or ~/.bash_login opprettes.

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

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

Kommentarer

  • På hvilken måte svarer dette på spørsmålet mitt?
  • @BROY Det svarer på spørsmålet du burde ha stilt fremfor det du gjorde.
  • Jeg har sett noen mennesker legger en .bash_profile-fil i prosjektkataloger, blir det virkelig plukket opp av bash? Jeg tror ikke ' at ' skal skje som standard.

Svar

Din bashrc filens plassering er distroavhengig … Her er en grunnleggende liste for systemet bashrc:
/etc/bashrc (Redhat, Fedora, etc)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali etc)
/etc/bash.bashrc.local (Suse, OpenSuse, etc)
Så er det den private enkeltbrukeren bashrc, som for det meste er lagret i ~/.bashrc for stort sett alle distroer … Hvis du ikke har en av distribusjonene oppført, eller har et spesielt system, kan du alltid slå opp bashrc plassering på google for det distro eller systemet …
Hilsen,
Interessant …

Svar

Som folk allerede har uttalt, kan du finne et skjelett av bashrc i /etc/skel/.bashrc. Hvis forskjellige brukere vil ha forskjellige bash-konfigurasjoner, må du plassere en .bashrc-fil i brukerens hjemmemappe.

Når det gjelder .bash_profile og .bash_login, må brukeren opprette dem manuelt og koble dem via bashrc . bash_profile og bash_login eksisterer for å skape en mer organisert følelse for de forskjellige innstillingene du laster inn. Jeg personlig holder alle aliasene mine i bash_profile, slik at jeg ikke trenger å sortere gjennom et rot i bashrc for å gjøre en rask redigering.

Her er et eksempel på hva du vil ha i .bashrc-filen:

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *