[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt-get - quiet - også ved advarsler!



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


Reply to: