Bash Pagina 83
Rularea codului dintr-un fișier
Folosind hash-bang și rulându-l ca o comandă
Hash-bang (shebang) - Un fișier script poate fi rulat direct dacă conține un hash-bang (shebang) la început. De exemplu:
#!/bin/bash
Aceasta indică shell-ului care interpret să folosească pentru a rula scriptul.
- Permisiunea executabilă
Este necesar ca fișierul să aibă permisiuni de executare setate pentru a putea fi rulat ca o comandă. Puteți seta permisiunile folosind:
chmod +x myscript
După setarea permisiunilor, scriptul poate fi rulat direct astfel:
./myscript
- Rularea scriptului fără hash-bang
Dacă scriptul nu are un hash-bang, poate fi rulat explicit cu bash sau alt interpreter. De exemplu:
bash myscript
Aceasta nu necesită permisiuni de executare pentru script.
- Rularea cu opțiuni de depanare
Pentru a rula un script în modul de depanare și a vizualiza comanda executată, puteți folosi:
bash -x myscript
- Importarea codului în procesul shell curent
Puteți, de asemenea, să importați și să rulați codul dintr-un script în procesul shell curent, fără a crea un subproces. Aceasta se face cu comanda source (sau .):
source myscript
sau
. myscript
Aceasta va executa toate comenzile din scriptul myscript în contextul shell-ului curent, permițând utilizarea variabilelor și funcțiilor definite în scriptul importat.
Concluzie
Rularea codului dintr-un fișier este o practică comună în scripting-ul Bash, permițând reutilizarea și organizarea codului. Prin utilizarea hash-bang-ului, a permisiunilor de executare, și a comenzilor bash și source, utilizatorii pot controla cum este executat codul și cum interacționează cu mediul shell.
Mai mult:
Rularea script-ului cu prioritate scăzută
nice ./myscript.sh
Sau
nohup nice ./mysqcript.sh & #rulare script cu prioritate scăzută și în fundal, indiferent dacă utilizatorul se deconectează sau pierde conexiunea