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.
Attachment:
pgpw23QiMBn5r.pgp
Description: PGP signature