Я делаю следующий сценарий, чтобы знать если прибыль или потеря от вводимой продажной цены и себестоимости как;
echo enter selling price
read sprice
echo enter costprice
read cprice
if [ $sprice -lt $cp ]
then
echo Loss
else
echo Profit
fi
Все время это возвращается Profit
, с кодом ошибки, как;
:~/shell$ sh shellb.sh
enter selling price
10
enter costprice
20
shellb.sh: 6: [: -lt: argument expected
Profit
какова могла бы быть причина, и как я могу зафиксировать это?
Изменитесь $cp
переменная к $cprice
, который является тем, что Вы читаете в строке, которая говорит read cprice
.
echo enter selling price
read sprice
echo enter costprice
read cprice
if [ $sprice -lt $cprice ]
then
echo Loss
else
echo Profit
fi
сценарий возвращает Прибыль, даже если $sprice
имеет то же значение как $cprice
, таким образом, чтобы быть точным добавляют эти строки к Вашему сценарию:
elif [ $sprice -eq $cprice ]
then
echo Break\ even
Поэтому то, с чем Вы заканчиваете:
echo enter selling price
read sprice
echo enter costprice
read cprice
if [ $sprice -lt $cprice ]
then
echo Loss
elif [ $sprice -eq $cprice ]
then
echo Break\ even
else
echo Profit
fi