#!/bin/bash
echo
echo "Проверяется \"[ 5 > 4 ]\""
if [ 5 > 4 ]
then
echo "5 > 4 -- это истина."
else
echo "5 > 4 -- это ложь."
fi
echo
echo "Проверяется \"[ 5 < 4 ]\""
if [ 5 < 4 ]
then
echo "5 < 4 -- это истина."
else
echo "5 < 4 -- это ложь."
fi
echo
echo "Проверяется \"[[ 5 > 4 ]]\""
if [[ 5 > 4 ]]
then
echo "5 > 4 -- это истина."
else
echo "5 > 4 -- это ложь."
fi
echo
echo "Проверяется \"[[ 5 < 4 ]]\""
if [[ 5 < 4 ]]
then
echo "5 < 4 -- это истина."
else
echo "5 < 4 -- это ложь."
fi
echo
echo "Проверяется \"(( 5 > 4 ))\""
(( 5 > 4 )) && echo "5 > 4 -- это истина."
(( 5 > 4 )) || echo "5 > 4 -- это ложь."
echo "Проверяется \"(( 5 < 4 ))\""
(( 5 < 4 )) && echo "5 < 4 -- это истина."
(( 5 < 4 )) || echo "5 < 4 -- это ложь."
echo
exit 0
Проверяется «[ 5 > 4 ]» 5 > 4 — это истина.
Проверяется «[ 5 < 4 ]» 5 < 4 — это истина.
Проверяется «[[ 5 > 4 ]]» 5 > 4 — это истина.
Проверяется «[[ 5 < 4 ]]» 5 < 4 — это ложь.
Проверяется "(( 5 > 4 ))" 5 > 4 — это истина.
Проверяется "(( 5 < 4 ))" 5 < 4 — это ложь.
Внимание, вопрос:
Почему [ 5 < 4 ] — это истина, а [[ 5 < 4 ]] — это ложь?