Kde se v systému Linux nachází soubor .bashrc?

Nenacházím své .bash_login a .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:~# 

Je tam vždy pouze jeden soubor .bashrc a .bash_profile pro každého uživatele?

A jsou soubory .bashrc a .bash_profile vždy nalezeny v adresáři / home / „uživatelské jméno“?

Odpověď

Jediné, na které se bash standardně dívá, jsou v domovském adresáři uživatele, ano. V Linuxu pro ně obvykle existuje jediný zdroj – / etc / skel. Domovský adresář uživatele však nemusí být v adresáři / home.

Vidím, že jste upravili svoji otázku a zeptali se, kde jsou vaše soubory .bash_login a .bash_profile. ve výzvě # předpokládám, že to spouštíte jako root. V takovém případě jsou vaše soubory

/root/.bash_history /root/.bashrc 

Viz moje původní odpověď výše týkající se domovského adresáře uživatele – není to vždy / home; v tomto případě je domovským adresářem root /root .

Odpověď

Podle man bash:

Když je vyvolán bash jako interaktivní přihlašovací prostředí nebo jako neinteraktivní prostředí s volbou –login nejprve načte a provede příkazy ze souboru / etc / profile, pokud tento soubor existuje. Po přečtení tohoto souboru vyhledá ~ / .bash_profile, ~ / .bash_login a ~ / .profile v tomto pořadí a přečte a provede příkazy od prvního, který existuje a je čitelný.

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

Existuje také /etc/bashrc ( /etc/bash.bashrc v systému Linux založeném na Debianu), který obsahuje System wide functions and aliases. Ve výchozím nastavení je toto nastaveno, a to i pro neinteraktivní skořápky bez přihlášení.

EDIT:

tilde v cestách označuje home directory aktuálně přihlášeného uživatele. Bash je schopen použít pro čtení a provádění příkazů pouze jeden z ~/.bash_profile, ~/.bash_login, or ~/.profile (na aktuálně přihlášeného uživatele). (Operační systémy založené na Debianu obvykle nemají ~/.bash_profile or ~/.bash_login. používají soubor ~/.profile. Tento soubor vysvětluje, že bude čten a používán, pokud ~/.bash_profile or ~/.bash_login jsou vytvořeny.

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

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

Komentáře

  • Jakým způsobem odpovídá tato odpověď na moji otázku?
  • @BROY Odpovídá na otázku, na kterou jsi se měl ptát, spíše než na tu, na kterou jsi odpověděl. Viděl jsem, jak někteří lidé vkládají soubor .bash_profile do adresářů projektu, opravdu to zachytí bash? Nemyslím si, že ' ' se má stát ve výchozím nastavení.

Odpověď

Vaše bashrc je závislé na distribuci … Zde je základní seznam systému bashrc:
/etc/bashrc (Redhat, Fedora atd.)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali atd.)
/etc/bash.bashrc.local (Suse, OpenSuse atd.)
Pak existuje soukromý single-user bashrc, který je z větší části uložen v ~/.bashrc v podstatě pro každou distribuci … Pokud nemáte uvedenou některou z distribucí nebo máte speciální systém, můžete vždy vyhledat bashrc umístění na google pro tuto distribuci nebo systém …
S pozdravem,
Zajímavé …

Odpověď

Jak již lidé uvedli, kostru bashrc najdete v souboru /etc/skel/.bashrc. Pokud různí uživatelé chtějí různé konfigurace bash, musíte do domovské složky těchto uživatelů vložit soubor .bashrc.

Pokud jde o .bash_profile a .bash_login, musí si je uživatel vytvořit ručně a propojit je pomocí bashrc . bash_profile a bash_login existují k vytvoření organizovanějšího pocitu pro různá načtená nastavení. Osobně uchovávám všechny své aliasy v bash_profile, takže nemusím třídit nepořádek v bashrc, abych provedl rychlou úpravu.

Zde je příklad toho, co byste měli ve svém souboru .bashrc:

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *