On Thursday 04 August 2005 23:53, Daniel Sørensen wrote: > Hej, > > apt-get -qq -y --force-yes dist-upgrade > > Burde ovenstående ikke være fuldstændig quiet? > > Jeg får denne meddelelse: > > "ADVARSEL: Følgende pakkers autensitet kunne ikke verificeres! libartsc0 > libarts1 akode etc...."
Medmindre brugeren af scriptet virkelig ved, hvad vedkommende gør, er
ovenstående kommando meget farlig. Opdateringer -- selv i stable -- kan
ødelægge ting: Fra apt-gets manpage:
-q, --quiet,
- snip -
you
should never use -qq without a no-action modifier such as -d,
--print-uris or -s as APT may decided to do something you did
not expect. Configuration Item: quiet.
Men, det værende sagt, så redirecter du blot outputtet til /dev/null.
Sandsynligvis forekommer det output, som du tænker på, ikke på standard
output, men snarere på standard error. De to skal da marges sammen i standard
output, for så at smide den nye stdout-stream i /dev/null. Det gøres i bash
således:
kommando-som-skriver-på-både-stdout-og-stderr > /dev/null 2>&1
(se i øvrigt bashs manpage, specielt under ``REDIRECTION'')
Du skulle også overveje, at redirecte alt dette output til en anden fil
end /dev/null. Så kan brugeren i det mindste se, hvad der gik galt.
Eksempelvis:
LOGFILE="$PWD/mitscript-log-$(date +%c)"
kommando-som-skriver-på-både-stdout-og-stderr >> "$LOGFILE" 2>&1
Med venlig hilsen, Anders Breindahl/skrewz.
pgpaQwVtg1vfF.pgp
Description: PGP signature

