TCH (statz) | #1, Főfasz (10443) |
1811 | #4711 | ^ | Idézet | Sun, 03 Dec 2017 00:57:07 +01 |
94.21.*.* | *.pool.digikabel.hu |
Egy megszívlelendő jótanács: Ha használjátok a parancssorban a cut parancsot, akkor a d paraméter értékét MINDIG rakjátok idézőjelbe! Akkor is, ha nem szükséges! Inkább legyen enkapszulálva feleslegesen minden, minthogy pl. a pontosvessző ne legyen egyszer és elbassza a stringet...cut -f1 -d";"Egy másik, még jobban megszívlelendő jótanács: A BACKUP NEM OPCIONÁLIS! Most pl. életet mentett. És egy harmadik, legalább annyira megszívlelendő jótanács: ha bármi vissza nem fordíthatót akartok csinálni scriptből, automatizálva, akkor előtte teszteljétek le az ominózus sort, nem végrehajtva, hanem kiíratva a paramétereket. Sőt, további három: • Ha egy fájlnév elé raksz egy változót, amiben a könyvtárnak kéne lennie, akkor az akkor is érvényes, ha a könyvtár sztringje üres; akkor a kurrens könyvtárban fogja keresnia célfájlt! (Ja és az ilyen összefűzéseknél a változót mindig enkapszuláld! Az üres sztring problémán speciel nem fog segíteni, de a space mizériákat csak így lehet kikerülni.) • Célszerű az ilyen esetek kivédésére mindig valami izolált helyre bemászni, pl. mkdir /tmp/faszom && cd /tmp/faszom • Ha a find-nek csak a munkakönyvtárban kell keresnie, akkor -maxdepth 1 argumentum kötelező! (Ha nem akarsz szopni.) És mégvalami: ha létezésre vizsgálsz egy változót, akkor mindig tedd idézőjelbe, mert ha üres, akkor azt fogja ez a fos hinni, hogy létezik, mert a sima if [ -d ] vagy if [ -f ] igazat ad vissza, viszont, ha idézőjelek vannak utána, akkor nem! root@Csabi:/r# if [ -d ]; then echo kecske; fi kecske root@Csabi:/r# if [ -f ]; then echo kecske; fi kecske root@Csabi:/r# if [ -d "" ]; then echo kecske; fi root@Csabi:/r# if [ -f "" ]; then echo kecske; fi |