Estou fazendo o seguinte script para saber se há lucro ou prejuízo do preço de venda inserido e do preço de custo como;
echo enter selling price
read sprice
echo enter costprice
read cprice
if [ $sprice -lt $cp ]
then
echo Loss
else
echo Profit
fi
O tempo todo ele está retornando Profit
, com um código de erro, tipo;
:~/shell$ sh shellb.sh
enter selling price
10
enter costprice
20
shellb.sh: 6: [: -lt: argument expected
Profit
qual pode ser o motivo e como posso corrigir isso?
Responder1
Mude a $cp
variável para $cprice
a qual você lê na linha que diz read cprice
.
echo enter selling price
read sprice
echo enter costprice
read cprice
if [ $sprice -lt $cprice ]
then
echo Loss
else
echo Profit
fi
O script retorna Lucro mesmo que $sprice
tenha o mesmo valor que $cprice
, portanto, para ser mais preciso, adicione estas linhas ao seu script:
elif [ $sprice -eq $cprice ]
then
echo Break\ even
Então o que você acaba é:
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