Niekoniecznie chcę odpowiedzi, ale jeśli ktoś mógłby wskazać mi literaturę lub przykłady. Chciałbym to rozgryźć.
Po uruchomieniu skryptu pojawia się błąd:
Błąd składni w pobliżu nieoczekiwanego tokena
fi
Wydedukowałem, że mój problem tkwi w moim oświadczeniu, komentując ifmoje ifoświadczenia i dodając, echo "$NAME"który wyświetla nazwy w /etc/.
Kiedy wprowadzam zmiany, usuwam #z ifi fidodawam #do wc -c "$NAME", pojawia się błąd składni wymieniony powyżej. Dodałem ;między ]tym. Przeszedłem również thendo następnego wiersza bez rozdzielczości.
#!/bin/bash
for NAME in /etc/*
do
if [ -r "$NAME" -af "$NAME" ] then
wc -c "$NAME"
fi
done
-afma zrobić?
-ajest zbędny, ponieważ warunek jest już uwzględniony -f. --- W każdym razie wiele warunków w obrębie [ ](to polecenie jest również dostępne jako test) należy połączyć za pomocą operatorów logicznych, takich jak -a(i) lub -o(lub), ale jak sugerowano w odpowiedzi poniżej, lepiej jest używać wielu [ ]( test) poleceń i łączyć za pomocą operatorów powłoki takich jak &&lub ||.