GNU/Linux >> Znalost Linux >  >> Linux

Účel .bashrc a jak to funguje?

Našel jsem .bashrc soubor a chci znát jeho účel/funkci. Také jak a kdy se používá?

Přijatá odpověď:

.bashrc je skript shellu Bash, který Bash spouští, kdykoli je interaktivně spuštěn. Inicializuje relaci interaktivního shellu. Do tohoto souboru můžete vložit jakýkoli příkaz, který byste mohli zadat na příkazovém řádku.

Zde vkládáte příkazy pro nastavení shellu pro použití ve vašem konkrétním prostředí nebo pro přizpůsobení věcí vašim preferencím. Běžná věc, kterou vkládáte do .bashrc jsou aliasy, které chcete mít vždy k dispozici.

.bashrc běží na každé interaktivní spuštění shellu. Pokud řeknete:

$ bash ; bash ; bash

a poté stiskněte Ctrl-D třikrát, .bashrc poběží třikrát. Ale pokud místo toho řeknete toto:

$ bash -c exit ; bash -c exit ; bash -c exit

pak .bashrc se nespustí vůbec, protože -c činí volání Bash neinteraktivní. Totéž platí, když spustíte skript shellu ze souboru.

Porovnejte .bash_profile a .profile které se spouštějí pouze na začátku nového přihlašovacího prostředí. (bash -l ) Můžete si vybrat, zda má být příkaz uložen v .bashrc vs .bash_profile v závislosti na tom, zda chcete, aby se spouštěl jednou nebo při každém spuštění interaktivního shellu.

Jako protipříklad k aliasům, které raději vkládám do .bashrc , chcete provést PATH úpravy v .bash_profile místo toho, protože tyto změny obvykle nejsou idempotentní:

export PATH="$PATH:/some/addition"

Pokud to vložíte do .bashrc místo toho pokaždé, když spustíte interaktivní sub-shell, :/some/addition by se dostal na konec PATH opět vytváříte práci navíc pro shell, když zadáte chybně příkaz.

Získáte nový interaktivní Bash shell, kdykoli přejdete z vi pomocí :sh , například.


Linux
  1. Jak Sticky Bit funguje?

  2. Ve skriptu Bash Jak funguje příkaz Continue s vestavěnými smyčkami?

  3. Jak funguje příkaz Exit na Unixovém terminálu?

  1. Jak funguje příkaz 'ls' v Linuxu/Unixu?

  2. Jak funguje cat << EOF v bash?

  3. Jak funguje příkaz ps?

  1. Jak programovat s Bash:Syntaxe a nástroje

  2. Co je Makefile a jak funguje?

  3. Jak Bash ví, jak je vyvoláván?