Bash Pagina 82
Rularea script-urilor
Rularea script-urilor este un aspect esențial al administrării sistemului și automatizării sarcinilor în mediile Unix/Linux. Această secțiune va explora diferitele metode de a rula script-uri, opțiunile disponibile și considerațiile legate de gestionarea execuției acestora.
Rularea codului dintr-un fișier
Pentru a rula un script dintr-un fișier, trebuie să aveți permisiuni de execuție setate pe fișierul respectiv. Iată cum se face:
- Setați permisiunile de execuție:
chmod +x script.sh
- Rulați scriptul:
./script.sh
Fundalul și nohup
Pentru a rula un script în fundal, adăugați & la sfârșitul comenzii:
./script.sh &
- Dacă doriți să vă asigurați că scriptul continuă să ruleze chiar și după ce vă deconectați, utilizați
nohup ./script.sh &
Acest lucru va redirecționa ieșirea standard și erorile către un fișier numit nohup.out, permițându-vă să verificați rezultatele mai târziu.
exec și redirecționare
Comanda exec permite înlocuirea shell-ului curent cu un nou proces, eliminând astfel costurile asociate cu crearea unui nou proces. Utilizarea exec se poate face în felul următor:
exec ./script.sh
Redirecționarea este, de asemenea, un aspect important al rulării script-urilor, permițându-vă să redirecționați ieșirea standard sau erorile:
./script.sh > output.txt 2>&1
Aici, ieșirea standard și erorile sunt redirecționate către fișierul output.txt.
Rularea scriptului altă dată
Dacă doriți să programați rularea unui script pentru o dată și oră specifice, puteți folosi cron. Modificați crontab-ul cu:
crontab -e
Apoi, adăugați o linie de configurare pentru a rula scriptul la intervalul dorit:
0 5 * * * /path/to/script.sh
Acest exemplu va rula scriptul zilnic la ora 5:00 AM.
set și shopt
Puteți seta variabile de mediu pentru scripturi, asigurându-vă că scriptul are acces la informațiile necesare:
export VAR_NAME=value
Apoi, în scriptul dvs., puteți accesa această variabilă:
echo "Value of VAR_NAME is $VAR_NAME"
shopt este o comandă utilizată în Bash pentru a activa sau dezactiva opțiuni specifice ale shell-ului. Aceste opțiuni afectează comportamentul shell-ului și al script-urilor scrise în Bash.
Sintaxă
shopt [options] [option_name]
- options: Opțiuni de control pentru comanda shopt.
- option_name: Numele opțiunii pe care doriți să o activați sau dezactivați.
Exemple de utilizare
- Lista opțiunilor active
Pentru a lista toate opțiunile curente și starea lor, utilizați:
shopt
- Activarea unei opțiuni
Pentru a activa o opțiune, utilizați comanda shopt urmată de -s (set):
shopt -s histappend
Aceasta va permite ca istoria comenzii să fie adăugată la fișierul de istorie existent în loc să-l înlocuiască.
- Dezactivarea unei opțiuni
Pentru a dezactiva o opțiune, utilizați -u (unset):
shopt -u cdable_vars
Aceasta va dezactiva funcția care permite folosirea variabilelor de mediu ca și căi de directoare.
Opțiuni comune
Iată câteva opțiuni utile care pot fi gestionate cu shopt:
- cdable_vars: Permite utilizarea variabilelor de mediu în comenzile cd.
- extglob: Activează expresii extinse de globbing, permițând utilizarea unor șabloane mai complexe în globbing.
- histappend: Permite adăugarea comenzilor noi la fișierul de istorie, în loc de a-l înlocui.
- progcomp: Activează completarea automată a programelor.
Verificarea stării unei opțiuni
Pentru a verifica starea unei opțiuni specifice, rulați:
shopt option_name
De exemplu, pentru a verifica dacă cdable_vars este activată:
shopt cdable_vars
Concluzie
Comanda shopt este un instrument puternic pentru personalizarea comportamentului shell-ului Bash. Prin activarea sau dezactivarea opțiunilor, utilizatorii pot optimiza modul în care interacționează cu shell-ul și pot îmbunătăți eficiența muncii lor.