Удар Ubuntu, если меньше еще ошибка возврата условия [: - лейтенант: аргумент ожидается

Я делаю следующий сценарий, чтобы знать если прибыль или потеря от вводимой продажной цены и себестоимости как;

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

какова могла бы быть причина, и как я могу зафиксировать это?

0
задан 13 October 2014 в 09:29

1 ответ

Изменитесь $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
0
ответ дан 6 October 2019 в 23:39

Другие вопросы по тегам:

Похожие вопросы: