Mistä Linux-tiedosto löytyy .bashrc-tiedostosta?

En löydä .bash_login- ja .bash_profile-tiedostoja

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:~# 

Onko aina vain yksi .bashrc- ja .bash_profile-tiedosto jokaiselle käyttäjälle?

Ja löytyvätkö .bashrc- ja .bash_profile-tiedostot aina hakemistosta / home / ”user name”?

Vastaa

Ainoat, joita bash tarkastelee oletuksena, ovat käyttäjän kotihakemistossa, kyllä. Heille on tyypillisesti vain yksi lähde Linuxissa – / etc / skel. Käyttäjän kotihakemiston ei kuitenkaan tarvitse olla / home-alla.

Näen, että olet muokannut kysymystäsi kysyäksesi missä .bash_login- ja .bash_profile-tiedostosi ovat. # -kehotteessa oletan, että suoritat tämän uudelleen pääkäyttäjänä. Siinä tapauksessa tiedostosi ovat

/root/.bash_history /root/.bashrc 

Katso alkuperäinen vastaukseni käyttäjän kotihakemistosta – se ei ole aina / home; tässä tapauksessa juuren kotihakemisto on /root .

Vastaa

man bash:

Kun bash kutsutaan interaktiivisena kirjautumiskoodina tai ei-interaktiivisena kuorena –login -vaihtoehdon kanssa, se lukee ensin ja suorittaa komennot tiedostosta / etc / profile, jos kyseinen tiedosto on olemassa. Luettuaan kyseisen tiedoston se etsii ~ / .bash_profile, ~ / .bash_login ja ~ / .profile siinä järjestyksessä ja lukee ja suorittaa komentoja ensimmäisestä olemassa olevasta ja luettavasta.

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

Myös /etc/bashrc ( /etc/bash.bashrc Debian-pohjaisessa Linuxissa), joka sisältää System wide functions and aliases. Oletusarvoisesti tämä on asetettu myös muille kuin vuorovaikutteisille, kirjautumattomille kuoreille.

EDIT:

Polkujen tilde osoittaa tällä hetkellä kirjautuneen käyttäjän home directory. Bash pystyy käyttämään vain yhtä ~/.bash_profile, ~/.bash_login, or ~/.profile (tällä hetkellä kirjautunutta käyttäjää kohti) siinä järjestyksessä komentojen lukemiseen ja suorittamiseen. (Debian-pohjaisissa käyttöjärjestelmissä ei yleensä ole ~/.bash_profile or ~/.bash_login.. Ne käyttävät tiedostoa ~/.profile. Tämä tiedosto selittää, että sitä luetaan ja käytetään, ellei ~/.bash_profile or ~/.bash_login luodaan.

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

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

Kommentit

  • Millä tavoin tämä vastaa kysymykseeni?
  • @BROY Se vastaa kysymykseen, jonka sinun olisi pitänyt kysyä, pikemminkin kuin sinä.
  • Olen nähnyt joidenkin ihmisten sijoittavan .bash_profile-tiedoston projektihakemistoihin, onko bash todella ottanut sen vastaan? En usko ' luulevan, että ' -suhteiden oletetaan tapahtuvan oletusarvoisesti.

Vastaa

bashrc tiedoston sijainti on distro-riippuvainen. Tässä on järjestelmän perusluettelo bashrc:
/etc/bashrc (Redhat, Fedora jne.)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali jne.)
/etc/bash.bashrc.local (Suse, OpenSuse jne.)
Sitten on yksityinen yhden käyttäjän bashrc, joka on pääosin tallennettu ~/.bashrc periaatteessa jokaiselle distrolle … Jos sinulla ei ole yhtä luetelluista distroista tai sinulla on erityinen järjestelmä, voit aina etsiä bashrc sijainti Googlessa kyseiselle distroille tai järjestelmälle …
Terveisin,
mielenkiintoista …

Vastaa

Kuten ihmiset ovat jo todenneet, bashrc-luuranko löytyy kohdasta /etc/skel/.bashrc. Jos eri käyttäjät haluavat erilaisia bash-määrityksiä, sinun on lisättävä .bashrc-tiedosto kyseisten käyttäjien kotikansioon.

Kun kyseessä ovat .bash_profile ja .bash_login, käyttäjän on luotava ne manuaalisesti ja linkitettävä ne bashrc: n kautta. . bash_profile ja bash_login ovat olemassa luomaan järjestäytyneempi tunnelma lataamillesi asetuksille. Henkilökohtaisesti pidän kaikki aliakseni bash_profile-tiedostossa, joten minun ei tarvitse lajitella bashrc: n sotkua nopean muokkauksen tekemiseksi.

Tässä on esimerkki siitä, mitä sinulla olisi .bashrc-tiedostossasi:

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *