Bash script - перевірка програми на занедбаність і її запуск (linux) - неблог

Загалом, мені потрібно було якось примітивно перевірити чи запущена програма, а якщо немає, то запустити її. Так, є програми для моніторингу всієї цієї справи (наприклад, mon), але ставити їх через одну програми не хотілося, тому написав невеличкий скрипт.

Для початку дивимося запущена програма чи ні:

ps aux виводить запущені процеси.
grep [h] top виводить результати з htop, при цьому якщо першу букву процесу взяти в квадратні дужки, то 'grep htop' буде виключатися зі списку.
wc -l підраховує кількість рядків (запущених процесів).
Виглядає це так:

Після цього потрібно написати умова перевірки і запуску програми.
if [ "$ ret" -eq 0] - якщо (if) значення змінної (ключ -eq означає одно) дорівнює 0, то (then):
echo "Running Htop" - виводимо текст: "Запускається Htop";
sleep 1 - ставимо затримку при запуску в 1 секунду;
htop - запускаємо програму Htop;
exit 1 - виходимо з скрипта;
Інакше (else):
echo "EXIT. Htop already running!" - виводимо текст: "Htop вже запущений!"
exit 1 - виходимо з скрипта.
Конструкція "Якщо. То. Інакше." Обов'язково закінчується fi;

Писати на Bash нескладно, а також дуже захоплююче, в іншому, як і всі в програмуванні. Так що спробуйте самі що-небудь написати, у вас обов'язково вийде. Тим більше, що по bash повно всякої документації, в тому числі і російською мовою.

if [ "$ ret» -eq 1] ось так працює з нулем завжди вважає запущеним так як сама команда греп створює процес і таким ім'ям