Barátom! Bizonyára borzasztóan jól szkriptelsz, de valami buta megmondóembert a fejedre ültettek. Ezért talán lelkileg is sérült vagy. :(
Nilvánvalóan, ha odaírom: "Ez nem egy auditált szoftverrendszer, csak egy fél sor péda. Kéretik NEM belekötni!" - nos, akkor is belekötnél. Sajnos túllépted nem az ésszerűség, hanem az értelem határát is.
Ha lennél szíves visszanézni:
[ -e $dir ] && [ -d $dir ] && echo "Van dir"
https://hup.hu/node/158046?comments_per_page=9999#comment-2201092
Ez a dir meglétének megállapítása. Nem program, csak a szerintem elégséges műveletek.
Nem "számonkérték", hanem a következő volt a kérdés: Szerinted van olyan directory, amelyik ugyan directory, de nem létezik? Kell oda az a -e?
https://hup.hu/node/158046?comments_per_page=9999#comment-2201222
Erre írtam egy olyan (másik) példát, ahol hiányzik a -e vizsgálat, ezért hibát okoz. Ez sem program, hanem csak a lehetséges hiba szemléltetése.
https://hup.hu/node/158046?comments_per_page=9999#comment-2201506
Ahhoz, hogy megértsed az első példát, ismerned kell a stat(2)rendszerhívást.
- A -e vizsgálat true eredménye azt jelenti, hogy a stat() nem futott az error ágra, amikor errno=ENOENT.
- Ezek után meg lehet vizsgálni a stat.st_mode értékét, hogy az értéke S_ISDIR makróval.
Ezért ez a precíz megállapítása egy dir meglétének.