Re: Probleme mit Bash/Shellscript
Am 2. Juli 2013 22:49 schrieb Ulf Volmer <u.volmer@u-v.de>:
> On Tue, Jul 02, 2013 at 10:00:58PM +0200, Thore wrote:
>> #!/bin/bash
>> #
>> UPDATES=`aptitude search "~U" | wc -l` #Variable Updates hat hinterher
>> irgendei$
>> ZIEL=0 # Dump Variable
>> if [ $UPDATES == $ZIEL ] #Wenn keine Updates
> Du möchtest hier nicht == verwenden, das ist nicht definiert.
> Der richtige Operator ist =, wenn Du Strings vergleichen möchtest,
> noch besser ist -eq, der bezieht sich auf Zahlen.
= sollte für POSIX Konformität verwendet werden, == ist in der Bash
auch definiert.
Bei dem Test
if [ $UPDATES == $ZIEL ]
kann $UPDATE leer sein, was zu folgendem Test führt, der keinen linken
Operand für den Operator == enthält:
[ == $ZIEL ]
Ändere deinen Test:
if [ "$UPDATES" == "$ZIEL" ]
Sonnige Grüße
Matthias Böttcher
Reply to: