On Friday 05 August 2005 15:22, Daniel Sørensen wrote: > On Friday 05 August 2005 12:46, Anders Breindahl wrote: > > Eksempelvis: > > LOGFILE="$PWD/mitscript-log-$(date +%c)" > > > > kommando-som-skriver-på-både-stdout-og-stderr >> "$LOGFILE" 2>&1 > > Så dette er godt? > > sudo apt-get -y --force-yes --fix-missing dist-upgrade >> $LOG 2>&1 Jeg ved ikke til sudo-delen, men du tager ikke højde for mellemrum i LOG. Hvis: LOG="/home/skrewz/logfile fra idag" ...vil din kommando udvides til: apt-get -y --force-yes --fix-missing dist-upgrade >> /home/skrewz/logfile fra idag 2>&1 ... Hvilket ikke er hvad du vil. Outputtet vil ende i /home/skrewz/logfile, og bash vil forsøge at eksekvere `fra` og `idag` (så vidt jeg husker -- jeg forsøger at undgå at skabe erfaring med denne slags). Stier, som man ikke vil opleve at udvides uhensigtsmæssigt, skal derfor indhegnes i anførselstegnet '"': apt-get -y --force-yes --fix-missing dist-upgrade >> "/home/skrewz/logfile fra idag" 2>&1 Få læst bash's manpage, hvis du vil fortsætte med at scripte i bash. Den fejl du lavede, er et klassisk eksempel på, hvordan små fejl under udviklingen åbner enorme sikkerhedshuller. Med venlig hilsen, Anders Breindahl.
Attachment:
pgpP1t1_C72Yl.pgp
Description: PGP signature