Ce face source
Dacă rulezi un script ca ./script.sh, Linux deschide un proces copil nou (un subshell). Toate variabilele sau funcțiile create în el dispar în momentul în care scriptul se termină.
Comanda source (sau echivalentul său scurt, caracterul punct .) citește și execută fișierul direct în shell-ul activ. Este modul standard de a încărca fișiere .env, medii virtuale Python (source venv/bin/activate) sau reîncărcarea configurării după modificarea lui ~/.bashrc.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
fișier |
Calea către fișierul ale cărui instrucțiuni vrei să le încarci în sesiunea activă. |
. (punct) |
Sinonimul standard POSIX pentru comanda source. |
Exemple
Exemplul 1: Încărcarea unui fișier de mediu în sesiunea curentă
Variabilele din fisier.env devin imediat disponibile în terminal.
echo 'export DB_USER="dexblog"' > setari.env
source ./setari.env
echo "Utilizator conectat: $DB_USER"
Rezultat
Utilizator conectat: dexblog
Greșeli frecvente
- Rularea
./setari.envși mirarea că variabilele nu au fost salvate în terminal (au fost setate doar în subshell-ul temporar care s-a închis imediat).
Comenzi înrudite
export: Transformă o variabilă de shell într-o variabilă de mediu (environment variable) accesibilă proceselor copil.alias: Creează scurtături personalizate și memorabile pentru comenzi lungi sau frecvente.Variabile în Bash: Declararea, atribuirea, valorile implicite și expandarea corectă a variabilelor în Bash.