Cześć Jestem nowy w skryptach bash. Właśnie napisałem ten prosty program, ale to jest błąd rzucania.Porównanie ciągów w bashu nie działa
#!/bin/bash
os=`uname -o`
echo $os
if ["$os"=="GNU/Linux"] ; then
echo "Linux"
else
echo "Windows"
fi
Używanie == lub -eq dla obu przypadków Otrzymuję następujący błąd i drukuje on inny condn.
./ostype.sh: Linia 3: [GNU/Linux == GNU/Linux]: Nie ma takiego pliku lub katalogu
Okna
wersja Bash GNU bash, wersja 3.2 .48 (1) - uwolnij (x86_64-suse-linux-gnu)
Ta kwestia została już odpowiedział zobaczyć ten link [1] [1]: http://stackoverflow.com/questions/394230/detect-the-os-from-a-bash-script – mana
Z właściwe odstępy '=' i '==' powinny działać w celu porównania ciągów. '-eq' jest porównaniem całkowitym. – Hennes