Forskellen på variabler i ~/.zshrc med og uden "export" – Hvilken metode skal du vælge?

Hvad er forskellen på at sætte variabler i ~/.zshrc med og uden "export", og hvilken metode bør anvendes?

Forskellen på at sætte variabler i ~/.zshrc med og uden "export" er, at uden "export" er variablen kun tilgængelig i den nuværende shell-session, mens med "export" bliver den en miljøvariabel tilgængelig i alle underliggende processer. Generelt anbefales det at bruge "export" for bredere tilgængelighed.

Forskellen på at sætte variabler i ~/.zshrc med og uden "export", og hvilken metode bør anvendes

Når du arbejder med Zsh (Z shell), kan du sætte variabler i din ~/.zshrc fil på to måder: med eller uden export. Her er forskellen mellem de to metoder og anbefalinger for, hvornår hver metode bør anvendes:

1. Sætte variabler uden "export"

  • Variablen er kun tilgængelig i den nuværende shell-session.
  • Den vil ikke blive arvet af eventuelle underliggende processer eller subshells.
  • Eksempel:
    MY_VARIABLE="some_value"

2. Sætte variabler med "export"

  • Variablen bliver en miljøvariabel.
  • Den er tilgængelig i den nuværende shell-session og alle underliggende processer eller subshells.
  • Eksempel:
    export MY_VARIABLE="some_value"

Hvornår skal du bruge hvilken metode?

  • Uden "export": Brug denne metode, når variablen kun skal bruges i den nuværende shell-session og ikke behøver at være tilgængelig for underliggende processer.
    • Eksempel: Lokale script-variabler, midlertidige værdier.
  • Med "export": Brug denne metode, når variablen skal være tilgængelig for underliggende processer eller subshells.
    • Eksempel: PATH-variabler, miljøindstillinger for programmer.

Generelt set, hvis du er i tvivl, er det en god praksis at bruge export, da det sikrer, at variablen er tilgængelig i alle relevante kontekster.