Я пытался написать сценарий bash цикла while, который будет проверять размер двух каталогов и выводить его в текстовый файл в папке www. После того, как мой цикл, пока упорно не работать, я решил упростить ее, чтобы убедиться, что я мог бы получить аа основной «если заявление» на работу, но по какой-то причине после часов разочарования, даже с самых основных, если заявления, оно не будет работай. Есть идеи, что мне не хватает?
echo "hello World"
#
a=1
b=2
echo "A: $a"
echo "B: $b"
if [ "$a" -eq "$b" ];
then
echo "equal"
else
echo "Not equal"
fi
Каждый раз, когда я запускаю это, я получаю эту ошибку:
test.sh: строка 12: синтаксическая ошибка возле неожиданного токена `fi '
test.sh: строка 12: `fi '
Если я поставлю «exit» или «done» в конце файла, это сообщит мне о неожиданном конце файла.
Спасибо!
Я скопировал вставленный ваш скрипт и прогнал его через bash и получил ожидаемый результат:
$ bash test1.sh
hello World
A: 1
B: 2
Not equal
$ cat test1.sh
echo "hello World"
#
a=1
b=2
echo "A: $a"
echo "B: $b"
if [ "$a" -eq "$b" ];
then
echo "equal"
else
echo "Not equal"
fi
Возможно, у вас есть дополнительная строка после fi или что-то в этом роде? Вы можете проверить с cat -v
или просто создайте новый скрипт и скопируйте / вставьте его самостоятельно?