1 (edytowany przez PYJTER 2018-10-08 10:00:31)

Temat: Problem ze skryptem...

Witam serdecznie próbuję zrobić sobie skrypt dla testów if else sprawdzający serial procesora.
Tworzę plik skrypt.sh nadaję mu uprawniania do wykonywania:

#!/bin/sh
test=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2)
if [$test != '000000ddd0d0d'] then
echo "Wynik porównania nieprawidłowy"

I jak odpalam skrypt to mam komunikat
-ash: ./skrypt.sh not found a przecież jest w tym katalogu jak zrobię ls.

2

Odp: Problem ze skryptem...

1. robiłeś do pod openwrt a nie pod windowsem, prawdza?
2. pokaż

pwd
cat ./skrypt.sh

3. Ten skrypt jest źle napisany. Jak już to:

#!/bin/sh
t=$(grep Serial /proc/cpuinfo | cut -d' ' -f2)
if [ ".$t" != '.000000ddd0d0d' ]; then
echo "Wynik porównania nieprawidłowy"
fi

- nie używaj słowa test, to jest nazwa programu i wprowadzasz chaos w skrypcie
- w if brakuje spacji po i przed nawiasami
- przed then musi być  ; (bez spacji) lub then musi być w nowej lini
- brakuje zakończenia ifa czyli fi
- czysta ideologia - nie używaj cat jak nie musisz, grep też umie czytać pliki
- przy porównywaniu sprawdzaj czy zmienna nie jest pusta bo jak nie sprawdzisz to się if wywali. Więc lepiej jest tak jak napisaem - dodać dowolny znak przez zmienną (np ".") bo wtedy przynajmniej jest co porównywać jak zmienna jest pusta.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Problem ze skryptem...

Dzięki Cezary chodzi... masakra tyle błędów w prostym skrypcie ;(