A shell script nem csak „pár sor parancs”
Így írj production-ready kódot!
A shell script nem csak „pár sor parancs”
Így írj production-ready kódot!
Sokan mondják, hogy a Bash elavult, és mindent Pythonban (vagy Go-ban) kellene írni. De valljuk be: a Linux világában a shell script még mindig a leggyorsabb út az automatizáláshoz.
A különbség egy „működik a gépemen” és egy vállalati környezetben is megálló script között azonban óriási. Én ezt a 3 szabályt mindig betartom, ha automatizálok:
Ne induljon el script úgy, hogy az elején nincs ott ez a sor:
set -euo pipefail
-e: Álljon le, ha hiba van.
-u: Álljon le, ha nem definiált változót használsz.
-o pipefail: A pipeline-ok hibáit is elkapja, nem csak az utolsó parancsét.
Mielőtt bármit commitolnék, lefuttatom rajta a ShellCheck-et. Meglepő, mennyi alattomos bugot (pl. idézőjelek hiánya, globbing hibák) képes kiszúrni.
A komment jó, de a log még jobb. Egy DevOps folyamatban látni kell, mi történt. Ne csak annyit írj, hogy echo "Hiba", hanem használj időbélyeget és irányítsd a hibákat a stderr-re!