Bash error: syntax error: unexpected end of file
Получаю
syntax error: unexpected end of file
при попытке выполнить скрипт. Что не так в скрипте? (проверял в https://www.shellcheck.net/ вроде как все зеленое)
#!/bin/sh
PROCESS_COUNT=$(ps aux | grep my-program | grep -v grep | awk '{print $2}' | wc -l)
if [ $PROCESS_COUNT != 0 ] ; then
ps aux | grep my-program | grep -v grep | awk '{print $2}' | xargs kill -9
fi
FINAL_RESULT=$(ps aux | grep my-program | grep -v grep | awk '{print $2}' | wc -l)
if [ $FINAL_RESULT != 0 ] ; then
echo "error thrown"
fi
У вопроса есть решение - Посмотреть?

line 12: syntax error: unexpected end of file - это следующая за последним fi
Источник

ru.stackoverflow.com/a/547489/178576
Источник

ru.stackoverflow.com/questions/547449/…
Источник
Ответы - Bash error: syntax error: unexpected end of file / Bash error: syntax error: unexpected end of file
Является ответом!

10.12.2017 03:49:09
Вот тут представлено решение, проблема была в том, что текстовый редактор приписывал символы \r\n вместо только \r как требует unix. Решение взято отсюда ответ со стекоферфлоу
Вот тут описано как такое проделать использовав notepad ++

19.10.2018 02:08:42
Вместо подсчета количества процессов в качестве страховки от вызова kill
без аргументов, гораздо удобнее использовать цикл while read
, поскольку при отсутствии элементов в списке процессов он просто не запустится. К примеру так:
#!/bin/bash
my_program=sublime_text # к примеру
while read -r pid
do
kill -9 "${pid}"
done < <(awk '$11 ~ my_program {print $2}' my_program="${my_program}" < <(ps aux))
Помочь в развитии проекта: