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