Guide til Shell-Tilpasning: .bashrc, .profile eller .bash_profile?

Hvordan afgøres, om en shell-tilpasning skal placeres i .bashrc, .profile eller en anden konfigurationsfil?

Placeringen af en shell-tilpasning afhænger af, om du vil ændre indstillinger for interaktive non-login shells (.bashrc), login shells (.profile), Bash login shells (.bash_profile), eller system-wide indstillinger (/etc/profile og /etc/bash.bashrc).

Hvordan afgøres, om en shell-tilpasning skal placeres i .bashrc, .profile eller en anden konfigurationsfil?

Placeringen af en shell-tilpasning afhænger af, hvilken type konfiguration du ønsker at ændre, og hvornår du ønsker, at ændringerne skal træde i kraft. Her er en guide til, hvordan du afgør, hvilken konfigurationsfil du skal bruge:

  • .bashrc:
    • Bruges til interaktive non-login shells.
    • Indeholder kommandoer, der skal køres hver gang en ny terminal åbnes.
    • Typiske tilpasninger inkluderer aliaser, funktionsdefinitioner og shell-specifikke indstillinger.
    • Eksempel: Tilføjelse af aliaser som alias ll='ls -la'.
  • .profile:
    • Bruges til login shells.
    • Indeholder miljøvariabler og andre indstillinger, der skal sættes, når brugeren logger ind.
    • Typiske tilpasninger inkluderer PATH-variabler, miljøvariabler og startkommandoer.
    • Eksempel: Tilføjelse af en ny sti til PATH som export PATH=$PATH:/new/path.
  • .bash_profile:
    • Bruges til login shells, men kun for Bash.
    • Hvis .bash_profile findes, ignoreres .profile af Bash.
    • Typiske tilpasninger inkluderer både miljøvariabler og shell-specifikke indstillinger.
    • Eksempel: Kombination af aliaser og miljøvariabler.
  • .bash_login:
    • Bruges som en fallback, hvis .bash_profile ikke findes.
    • Indeholder typisk de samme typer af tilpasninger som .bash_profile.
  • /etc/profile og /etc/bash.bashrc:
    • System-wide konfigurationsfiler, der påvirker alle brugere.
    • Bruges til at sætte globale miljøvariabler og indstillinger.
    • Typiske tilpasninger inkluderer globale PATH-variabler og system-wide aliaser.

For at opsummere:

  • Brug .bashrc til interaktive non-login shells.
  • Brug .profile til login shells, især hvis du bruger en shell, der ikke er Bash.
  • Brug .bash_profile til Bash login shells, hvis du ønsker at kombinere miljøvariabler og shell-specifikke indstillinger.
  • Brug /etc/profile og /etc/bash.bashrc til system-wide indstillinger.