Leírom mégegyszer. Lassan, hogy jól értsed. ;) (Mint a Wasabi-ban. :))
[ -e $dir ] && [ -d $dir ] && echo "Van dir"
Igaz, ez a /bin/test, vagy a test shell builtin-t használja. Ha helyette fel kell raknom 110MB python3-at, és még hibás is, akkor nem én vagyok a hülye. Ha két python verzió között egy dir meglétének a vizsgálata nem hordozható, - ugyebár ez valami NASA űrtecnológia, - akkor ott nagyon nagy baj van. Ezért nem szabad használni.
Szóval nem lehet, hogy nálad a selinux/apparmor kavart be? Esetleg virtualenv használata? Valami pip telepítés?
Nem. Ez egy FreeBSD és töredelmesen bevallom: root-ként futtattam.
Viszont a fenti kód tetszőleges shellben hibátlanul fut az idők kezdete óta. Ezekkel a dependenciákkal nyugodtan kijelenthető, hogy a python kódot dilettáns programozó készitette.
Nem szabad olyan kódot írni, ami csak a Te pécéden fut jól! Nem csak másokkal, de magaddal is kiszúrsz.
A shell script "hordozhatóságánál" a legfontosabb side effect a következő módon írható le - ami nem igazán manapság keletkezett:
Vajon milyen rendszer előtt ülünk? Csak el kell indítani egy programot!
- Ha kiírja: "kopirájtpítörnorton" == DOS
- Nem ír ki semmit == UNIX
- Valami marhaságot ír ki == GNU