Я запускаю програму GUI під назвою zeal (зібрана з src) і додаю скрипт (zeal.sh) для виконуваного файлу:
#!/bin/bash
if pgrep zeal &>/dev/null; then
printf "already on\n"
else
~/tools/zeal/zeal/zeal &>/dev/null &
fi
Дивна річ у тому, що коли я запускаю цей скрипт /path/to/zeal.sh
, він завжди говорить "вже увімкнено", тоді як з bash /path/to/zeal.sh
ним правильно вирішує, працює процес чи ні.
Я також перевірив інші програми GUI (наприклад, firefox) з аналогічними сценаріями, і вони добре працюють.
То як це може статися і як це виправити?