Potrzebujesz pomocy z C, C++, perl, python, itp.
debbian
Posty: 29 Rejestracja: 02 grudnia 2008, 23:05
Lokalizacja: /etc/passwd
Post
autor: debbian » 09 grudnia 2008, 16:57
Witam, mam na zadanie: napisać skrypt w bashu, który sprawdzi zawartość pliku tekst.txt pod kątem słowa bash. Jeśli tam je znajdzie pokazuje wiadomość Sukces, jeśli nie to Klęska.
Próbowałem coś takiego ale nie wiem jak porównać wynik grep do zmiennej $2
Kod: Zaznacz cały
#!/bin/bash
cat $1 |grep $2
if [[grep == $2]]; then
echo "Sukces"
else
echo "Kleska"
fi
Wywoływanie skryptu:
Macie jakieś pomysły?
snah
Beginner
Posty: 103 Rejestracja: 19 lutego 2008, 09:09
Post
autor: snah » 09 grudnia 2008, 18:31
Użyj odwotnych apostrofów, np.
przypisuje zmiennej zmienna wartość zwróconą przez polecenie ls.
lis6502
Member
Posty: 1798 Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców
Post
autor: lis6502 » 09 grudnia 2008, 18:40
albo $(), troszkę lepiej wygląda jeśli operujemy na zmiennych
RaV.
Posty: 87 Rejestracja: 28 czerwca 2006, 15:30
Lokalizacja: 127.0.0.1
Post
autor: RaV. » 09 grudnia 2008, 19:45
Kod: Zaznacz cały
#!/bin/bash
cat $1 | grep -q bash
if [ $? -eq 0 ]; then
echo jest
else
echo nie ma
fi
Pod zmienną $? jest trzymany rezultat wykonania ostatniego polecenia. 0 == sukces (bez błędów), każda inna wartość oznacza błąd.
Kod: Zaznacz cały
rav@hydra:~$ echo Hello World.
Hello World.
rav@hydra:~$ echo $?
0
rav@hydra:~$ cat notexistingfile.txt
cat: notexistingfile.txt: Nie ma takiego pliku ani katalogu
rav@hydra:~$ echo $?
1
Utumno
Beginner
Posty: 432 Rejestracja: 09 listopada 2008, 13:04
Lokalizacja: Gdansk
Post
autor: Utumno » 09 grudnia 2008, 19:45
skrypt masz kompletnie nieprawidlowy. Nie sprawdza w ogole co zwrocil grep, tylko sprawdza czy drugim parametrem skryptu byl string 'grep', a i to robi zle.
debbian
Posty: 29 Rejestracja: 02 grudnia 2008, 23:05
Lokalizacja: /etc/passwd
Post
autor: debbian » 09 grudnia 2008, 20:50
Kod: Zaznacz cały
#!/bin/bash
grep $1 $2
if [[$(grep) == $2]]; then
echo "Znalazlem slowo: $2"
else
echo "Nie znalazłem słowa: $2"
fi
Nie działa.
lis6502
Member
Posty: 1798 Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców
Post
autor: lis6502 » 09 grudnia 2008, 21:01
Aleś kolego namieszał.
Polecam Ci lekturę
tego i
tego .