cron, bash - TERM environment variable not set.

Az /etc/cron.weekly-be tettem egy gyűjtő scriptet. (Gyűjtő - Máshol lévő hat különböző script felsorolva, hogy egymás után fusson le,)
Alapból kapok log levelet a cron és at dolgokról, így minden lefutott scriptről is. Viszont a Tárgyban jelzett hibaüzenetekkel van tele a log levél.
Gondolom azért mert van benne echo "szöveg kiírás is". De azt nem szeretném a nullba tenni, mert nagy néha, ha hiba jelentkezik, az segít.

Hozzászólások

Ez inkább az ilyen "clear" és hasonló parancsok miatt van, nem az echo miatt.
Script elejére:


export TERM=dumb

... és akkor nem lesz hibaüzenet.

Hát, alapvetően meg kéne azokat a scripteket rendesen írni, és ha nincs TERM változó, akkor nem csinálni olyan dolgokat, amikhez kellene, az stdout/err meg amúgy is menjen valami logfájlba, és akkor nem levélben kapod meg az eredményt.

A levél nagyon is jó. A rendesen meg kellene írni a scriptet mondat meg egy kicsit talán túlzás. Amíg teszteltem és nem tettem bele a cronba, addig nagyon is jó volt hogy láttam milyen hibák merültek fel.
No de akkor itt van az újabb kérdés: [3;J[H[2JMár a legújabb Firefox van feltelepítve.
A TERM változó meg van adva mint xterm. Érdekelne akkor ez a karaktersorozat a mondat elején:

[3;J[H[2J

Az hogy miért így van a Firefox, az meg azért van, mert a disztró az ESR-t adja, és elegem volt a kézi telepítésekből.
Előre is köszi.

Ezt most próbáld meg egy kicsit lassabban leírni, mert sajnos kicsit lassú a felfogásom... (és valahogy terminálvezérlő szekvenciák furták bele magukat a szövegbe)

Szerk: ja, pont az a kérdésed! Nem olvastad azt a részt a múltkor, hogy "nem kell bele clear, stty, reset, tput, resize meg ilyenek"?

De olvastam. Miért baj az a clear? A többi nincs benne. De szeretek tiszta lappal indulni. Ezért letörlöm a táblát. Felhívom a tisztelt szakmai zsűri figyelmét hogy én ablakszerelő vagyok, és nem programozó. Erre futotta autodidakta módon. Igaz hogy 50 múltam, de nem késő tanulni.

A clear azért baj, mert amikor cron-ból fut, akkor nincs terminál, amit letörölhetne. Ezért vannak ott azok a vezérlőkarakterek. És ezért szoktuk a cron-os scripteket már nulláról úgy megírni, hogy logba írjon, ne képernyőre, mert az ilyesmiből később mindig csak a baj van.

A rendesen meg kellene írni a scriptet mondat meg egy kicsit talán túlzás. Amíg teszteltem és nem tettem bele a cronba, addig nagyon is jó volt hogy láttam milyen hibák merültek fel.

Hát, ha egyszer a számítógépek a parancsainkat hajtják végre, és nem az óhajainkat, akkor más opció nincs, mint hogy azt írod bele a parancsokba, mint ami az óhajod. Ellenkező esetben (a mellékelt példád szerint) nem az fog történni, mint amit szerettél volna.