Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Scriptfraga - exec

Sitter och omorganiserar mina loggfiler, och ar i full fart att konvertera alla ickestandardloggfiler till xmlformat. Min tanke ar enkel, anvanda ett shell script for att fanga all information som genereras och placera det i en valformerad xmlfil. Just nu tar scriptet emot tva argument, kommando och fil, dvs forst vilket kommando som skall koras (via exec) och sedan loggfilen den ska placera datan i. Detta fungerar fin-fint sa lange kommandot bara ar ett ord, t.ex. 'uptime'. Dock om det ar tva eller fler ord sa kan jag inte lista ut hur jag ska fanga och kora det. Att bara gora ./wrapper "ett kommando" loggfil.xml fungarar inte. Min tanke var att man kanske skulle behova skala av "-tecknen, ifall exec forsoker kora "ett kommando" istallet for ett kommando. Efter rejalt med googlande pa sed sa gav jag upp, kan inte lista ut syntaxen om mitt liv hangde pa det, haha.

Hur som helst, hoppas det inte var alltfor knasigt formulerat och att nagon forstar vad det ar jag forsoker gora. Om det finns battre satt an exec sa sag till, jag tar emot all kritik och synpunkter med gladje, vill ju gora saker ratt! Jag slanger in koden till scriptbasen, det behover byggas ut lite, men detta kommer som sagt vara karnan i det.
(Och aterigen ber jag om ursakt for det engelska tangentbordet, jag vet att det driver mig vansinnig att lasa svenska utan svenska tecken...)

Av nagon anledning sa ville inte LP acceptera min kod inom code-taggarna, sa scriptet finns har.

Nar jag anda ar igang sa har jag en narliggande fraga (eftersom detta script kommer anvandas i samband med detta). Nar jag kor cronjob pa diverse saker loggar jag vanligtvis datan till en fil, dock om det ar nagot fel sa skickas informationen via mail till root, hur gar man till vaga for att alltid mata datan till loggfilen, oavsett resultat?

Tack pa forhand Linuxvanner!

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

alberts bild

Pröva att byta ut

 ENTRY=$(exec $1)

mot

 ENTRY=`$1`

och anropa sen med kommandot och argumenten inom citationstecken:

./wrapper "ett kommando med argument" loggfil.xml

Den andra frågan, hur man skickar både vanlig utdata (stdout) och felutskrifter (stderr) till en fil, kan du lösa med:

./kommando > logg.txt 2>&1

/Albert

beautifoes bild

Woohoo, nu funkar det!

Tack ska du ha Albert, man borjar sa sakteligen lara sig bash, hehe

fredentofts bild

./kommando &> logg.txt gör samma sak som ./kommando > logg.txt 2>&1 men med färre knapptryckningar Wink

-
För övrigt anser jag att trådindenteringen måste lagas
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-