Pass - Fail question [дубликат]

Я пишу команду, которая приведена ниже.

if ["$avg" -ge "80"]; then
echo "PASS"
else
echo "FAIL"

Я получаю сообщение об ошибке:

x.0000000000000000 integer expression expected 
and the result of if -else statement is always wrong.

Пожалуйста, помогите и предложите необходимые изменения.

-3
задан 29 September 2018 в 09:55

1 ответ

#!/bin/bash

# .........
# ........

if [ $avg -ge 80 ]
then
  echo "PASS"
else
  echo "FAIL"
fi

Как предложено Steeldriver , используйте shellcheck . Вы можете установить его с помощью

sudo apt install shellcheck

Использовать его с

shellcheck myscript.sh

В вашем случае вы получите следующий вывод:

In myscript.sh line 1:
if ["$avg" -ge "80"]; then
^-- SC1009: The mentioned parser error was in this if expression.
   ^-- SC1035: You need a space after the [ and before the ].
   ^-- SC1073: Couldn't parse this test expression.
                    ^-- SC1020: You need a space before the ].
                    ^-- SC1072: Missing space before ]. Fix any mentioned problems and try again.
3
ответ дан 27 October 2019 в 09:39

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

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