Hoe doe je een logische OF bewerking in shell scripting
Ik probeer een eenvoudige conditiecontrole te doen, maar het lijkt niet te werken.
Als $#
gelijk is aan 0
of groter is dan 1
, zeg dan hallo.
Ik heb de volgende syntax geprobeerd zonder succes:
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
554
3
Dit zou moeten werken:
Ik weet niet of dit in andere shells anders is, maar als je wilt gebruiken, moet je ze binnen dubbele haakjes zetten, zoals dit:
Deze code werkt voor mij:
Ik denk niet dat sh "==" ondersteunt. Gebruik "=" om strings te vergelijken en -eq om ints te vergelijken.
voor meer details.
heb je zoiets als dit geprobeerd: