String-Vergleich in der bash funktioniert nicht

Hallo, ich bin neu in bash scripting. Nur hat diese einfaches Programm aber es wirft Fehler.

#!/bin/bash
os=`uname -o`
echo $os
if ["$os"=="GNU/Linux"] ; then
    echo "Linux"
else
    echo "Windows"
fi 

Mit == oder eq für beide Fälle, die ich bin immer folgende Fehlermeldung, und es wird Druck auf die else-condn.

./ostype.sh: line 3: [GNU/Linux==GNU/Linux]: No such file or directory

Windows

Bash-version GNU bash, version 3.2.48(1)-release (x86_64-suse-linux-gnu)

  • Diese Frage wurde bereits beantwortet, siehe link [1] [1]: stackoverflow.com/questions/394230/...
  • Mit dem richtigen Abstand = und == sollte funktionieren beide strings vergleichen. -eq ist eine Ganzzahl vergleichen.
InformationsquelleAutor Reuben | 2012-12-19
Schreibe einen Kommentar