( locsemege | 2022. 01. 22., szo – 20:30 )

Na jó, de miért ez az érzékenység? Kaptál jól használható válaszokat. Szerintem még mindig uzsolt válasza adja a legcélszerűbb, legegyszerűbb megoldást:

CONFIG='/usr/local/etc/valami.conf'
if [ ! -f "$CONFIG" ]; then
  echo "Missing config file: '$CONFIG'" >&2
  exit 1
fi

. "$CONFIG"

Ekkor maga a shell rendezi ezt, az értékadásokat végrehajtja, a commenteket figyelmen kívül hagyja. Ha te írod a config file-t, nem kell semmiféle ellenőrzés. Ha nem, akkor óvatosan, mert a config file-ba írt rosszindulatú script is le fog futni, nem csak sima értékadások, tehát akkor kell valamiféle ellenőrzés. Erre írtam, hogy az egyenlőségjeltől jobbra és balra lévő karakterekre lehet megkötést alkalmazni, és akkor ez is megvan.

A grep és sed példák is jók, de ott nem lett kifejtve, hogy a grep-pel vagy sed-del leszűrt file-t hogyan teszed a shell számára végrehajthatóvá. Meg lehet csinálni, de ebbe azért nem megyek bele, mert nem is kell semmit szűrni, ha az egész configodat beszúrod a scriptedbe a source avagy . belső paranccsal.