Рейтинг:0

Получение синтаксической ошибки при запуске файла test.sh «./test.sh: 36: синтаксическая ошибка: неожиданный конец файла (ожидание «готово»)»

флаг cn

Я получаю эту синтаксическую ошибку при запуске файла test.sh:

./test.sh: 36: Синтаксическая ошибка: неожиданный конец файла (ожидание «готово»)

тест.ш:

#!/бин/ш

# Вебхук
url="DiscordWebHook"
имя хоста = "ТестингСвр01"
PublicIP="Мой IP"

# проверить текущее использование диска
дф-Н | grep -vE '^Файловая система|tmpfs|cdrom|loop' | awk '{ print $5 " " $6 }' | при чтении вывода;

# назначаем переменные
делать
  #эхо $вывод
  used=$(echo $output | awk '{print $1}' | cut -d'%' -f1)
  partition=$(echo $output | awk '{print $2}')
  USERNAME=\"${имя хоста}\"
  ПУБЛИЧНЫЙ IP=\"${PublicIP}\"
  msg_content=\"$сообщение\"
  DISCORD_WEBHOOK_URL="${url}"

  # если диск достиг порога, отправьте уведомление в Discord #Infra. 
  если [ $used -ge 85 ]; тогда
curl -H "Content-Type: application/json" -X POST -d "{\"used\": $used, \"partition\": $partition, \"username\": $USERNAME, \"IP\ ": $publicIP, \"content\": $msg_content}" $DISCORD_WEBHOOK_URL
  еще
    echo "${output} не удалось"
  фи
выход 0
Выполнено
Рейтинг:3
флаг sa

Выполнено в последней строке учитывается регистр. бить ожидает сделано, поэтому используйте сделано (все строчные буквы) вместо этого.

Вот результаты проверки вашего сценария оболочки bash на https://www.shellcheck.net/.

gcc

Публичный IP-адрес в ПУБЛИЧНЫЙ IP=\"${PublicIP}\" не совпадает общедоступный IP-адрес в curl -H "Content-Type: application/json" -X POST -d "{"используется": $used, "partition": $partition, "username": $USERNAME, "IP": $publicIP, "контент": $msg_content}" $DISCORD_WEBHOOK_URL Использовать ПУБЛИЧНЫЙ IP=\"${publicIP}\" вместо.

Вы можете установить ShellCheck в Ubuntu с помощью sudo apt установить shellcheck и запустить его с шеллчек test.sh ShellCheck был бы очень удобным инструментом для проверки вашего сценария оболочки, поскольку он указывает точное местоположение ошибки в каждой строке, где находится обнаруженная им ошибка.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.