Echo off in Linux

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • cdgrit
  • Registratie: Mei 2002
  • Laatst online: 13-01 16:44
Op mijn linux server draai ik dagelijks een scriptje waarbij er een aantal bestand ingepakt worden met tar. Nu krijg ik iedere keer een mailtje met:

Removing leading `/' from member names

Nu wil ik dus dat ik deze melding niet meer krijg. Nu kan ik er natuurlijk -P achter zetten, maar hij moet de '/' wel weghalen.
Hij moet het dus wel weghalen, maar er geen melding van geven.

In een DOS batch scriptje zou je er iets van echo off of een @ voor zetten, maar hoe werkt dat met een bash script?


Originele startpagina - Stadindex.nl


Acties:
  • 0 Henk 'm!

Anoniem: 27376

achter je commando '>> /dev/null' ??

Acties:
  • 0 Henk 'm!

Anoniem: 35699

Je hebt twee soorten output, de standaard (stdout) en de foutmeldingen (stderr). Als je achter je commando "> /dev/null" zet, wordt de standaard output niet meer getoond, maar stderr nog wel. Wil je die ook weghebben dan moet je "1>/dev/null 2>&1" eens proberen.

1 staat dus voor stdout
2 staat voor stderr

[ Voor 16% gewijzigd door Anoniem: 35699 op 03-10-2003 10:35 ]


Acties:
  • 0 Henk 'm!

  • mvdejong
  • Registratie: Juni 2000
  • Laatst online: 29-11-2024

mvdejong

When does the hurting stop ?

cdgrit schreef op 03 oktober 2003 @ 10:27:
In een DOS batch scriptje zou je er iets van echo off of een @ voor zetten, maar hoe werkt dat met een bash script?
"echo off" en "@" in DOS zorgt ervoor dat de command-line zelf niet wordt getoond, niet dat bepaalde meldingen vanuit de commando's worden onderdrukt.

De stderr, want daar gaat het hier om (niet de stdout) kun je onderdrukken door "2> /dev/null" achter het tar-commando te plakken, maar dat wil je niet omdat dan ook echte fout-meldingen, en niet alleen die soort warnings, worden onderdrukt.

"man tar" zou je moeten vertellen waar dit vandaan komt. Ik heb zelf geen linux draaien, dus ik ken deze specifieke tar-versies niet, maar het zou kunnen dat je meerdere "v"-opties op de command-line hebt meegegeven, zodat ook dit soort warnings wordt getoond, in dat geval zou je dat aantal kunnen terugbrengen.

The number of things that Arthur couldn't believe he was seeing was fairly large


Acties:
  • 0 Henk 'm!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 16:27
Dit komt omdat 'tar' (tenminste de versie die ik heb doet het ook) het vertikt om absolute padnamen op te slaan. Als je dus bijvoorbeeld dit doet:

"tar cfvz mijn-temp-dir /tmp/"

Krijg je de melding "tar: Removing leading `/' from member names", en daarna pakt 'ie de files in als:

tmp/troep.txt
tmp/keep-this-file
tmp/crap.txt

enzovoorts.

Dus wat je kunt doen om dit te voorkomen is in plaats van absolute padnaam dit te gebruiken:

"cd /; tar cfz /dir/waar/file/moet/komen/mijn-temp-backup.tgz tmp/"

Dan krijg je die melding niet. Dit heeft trouwens, zoals mvdejong perfect uitlegt, niets te maken met wat @echo off in DOS doet. Hopelijk snap je ook dat verschil, en lost dit je probleem op.

Het topic ga ik dicht doen, want dit valt wel aardig in de categorie 'zelf een beetje proberen en knutselen, en je kunt er ook wel achter komen'. Lees evt. het Linux handboek dat genoemd wordt in de NOS FAQ (Linux Cursus), daar kun je veel aan hebben als je een beetje nieuw bent in de wereld van Linux, maar het wel graag wilt leren allemaal.

[ Voor 3% gewijzigd door Wilke op 03-10-2003 11:52 ]

Pagina: 1

Dit topic is gesloten.