Ваше условие if синтаксически неверно.Вы не можете иметь ||
в скобках.Измените его на -o
вместо:
if [ $# -eq 4 -o $# -eq 3 ] && [ $2 != "d" ]
then
print "sss"
else
print "lol"
fi
Или, что еще лучше, используйте [[
(если ваша оболочка его поддерживает), что безопаснее и имеет больше функций.Он поддерживает ||
:
if [[ ( $# -eq 4 || $# -eq 3 ) && $2 != "d" ]]
then
print "sss"
else
print "lol"
fi