( SzBlackY | 2014. 05. 27., k – 07:22 )

Oks, hányszor? Ha egyszer kiírja, azzal nem vagy kisegítve. Ha másodpercenként kiírja, akkor lesz egy marha hosszú kimeneted, mire végzel egy nagyobb fájllal. Milyen user ül a képernyő előtt: aki tudja, hogy az utolsó három sort kell mindig nézni, a többi addigra már csak zaj, vagy aki nem tudja ezt, és mindig le kell takarítani a képernyőt. Esetleg (valószínűleg?) a stdout túlsó felén egy másik script van, annak sem kellene "takarítani a képernyőjét" stb.

És igen, rengeteg esetet le lehet kezelni (pl. terminál milyenségének tesztelése, még több argumentum etc.), de szerintem tisztább az "ez van, ha több kell, kompozitálj" megoldás. Jó példa erre a listsvc, ami - tényleg minimum több oldalas lesz a kapott lista -, de ott nyit, hogy önmaga implementál egy more-t (azt hiszem ha át van irányítva a kimenete fájlba, akkor nem), mert csak. Szerintem annál is tisztább lenne az a megoldás, amit pl. systemd-ék használnak, hogy ha kicsi a terminál, akkor levág, de a kimenet végén kiírja, hogy ha a teljes kimenetre kiváncsi vagy, futtasd ezt. A Listsvc is csinálhatná, hogy kiírja, ha lapozást is akarsz, listsvc | more. Tényleg csak annyi, hogy van, hogy nincs elég információja egy programnak az adott use case-hez, és akkor az új argumentum helyett/mellett számításba kell venni a kompozíciót.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)