Banalny skrypt w Bashu i instrukcja if - pytanie


(Lisiornik) #1

Witam. Mimo przekopania kilku poradników nadal nie umiem uzyć instrukcji if w bash'u. Wiem, że wygląda to dość nieprawdopodobnie, ale prosze o wyrozumiałość, jestem początkujący.

Chcę napisać skrypt, który po wklepaniu słowa "krowa" zwróci mi teskt "Wpisałeś wyraz krowa", w przypadku wpisania czegokolwiek innego zwróci "Wpisałeś inny wyraz". Krowa jest tu całkiem przypadkowa nie mam żadnych uprzedzeń ani ukrytych pożądań :stuck_out_tongue:

Mój skrypt:

#!/bin/bash

echo "Skrypt sprawdzi czy umiesz czytac/pisac"

echo "wpisz w konsoli wyraz krowa"

read sprawdz

echo $sprawdz >> log.sh


if (($sprawdz = "krowa")); then

echo "Brawo, wpisales krowa."

else

echo "Wpisales inny wyraz."

fi

Co w nim jest nie tak? Wyrzuca komunikat:

kosto@ ***** ~/bash $ sh skrypt.bash 

Skrypt sprawdzi czy umiesz czytac/pisac

wpisz w konsoli wyraz krowa

krowa

skrypt.bash: 11: krowa: not found

Wpisales inny wyraz.

(Dongregorio) #2

Raczej powinno być tak:

#!/bin/bash

echo "Skrypt sprawdzi czy umiesz czytac/pisac"

echo "wpisz w konsoli wyraz krowa"

read sprawdz

echo $sprawdz >> log.sh


if ["$sprawdz" = "krowa"]; then

echo 'Brawo, wpisales krowa.'

else

echo 'Wpisales inny wyraz.'

fi

(Lisiornik) #3

Wielkie dzięki, mozna zamknąć ;]