Więcej
Jak wykonać logiczną operację OR w skrypcie powłoki
Próbuję wykonać proste sprawdzenie stanu, ale wydaje się, że to nie działa.
Jeśli $#
jest równe 0
lub jest większe niż 1
to przywitaj się.
Próbowałem następującej składni bez powodzenia:
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
554
3
To powinno zadziałać:
Nie jestem pewien, czy jest to inne w innych powłokach, ale jeśli chcesz użyć , musisz umieścić je wewnątrz podwójnego nawiasu, jak poniżej:
Ten kod działa dla mnie:
Nie sądzę, że sh obsługuje "==". Użyj "=" do porównywania łańcuchów i -eq do porównywania ints.
po więcej szczegółów.
Czy próbowałeś czegoś takiego: