Я пытаюсь запустить сценарий, если он еще не запущен с использованием другого скрипта.Запустите сценарий, если он еще не запущен - получение [0: не найдено
test $ ls
arcane_script.py calling_script.sh
Это то, что мой сценарий выглядит прямо сейчас
test $ cat calling_script.sh
#!/bin/bash
PROCESSES_RUNNING=$(ps -ef | grep "arcane_script.py" | grep -v "grep" | wc -l)
echo $PROCESSES_RUNNING
if [$PROCESSES_RUNNING = "0"]; then
/usr/bin/python arcane_script.py
fi;
Я пробовал другие варианты в пределах if
блока, как [$PROCESSES_RUNNING -eq 0]
, но все они выдают одинаковое сообщение об ошибке
test $ ./calling_script.sh
0
./calling_script.sh: line 5: [0: command not found
test $ sh calling_script.sh
0
calling_script.sh: 5: calling_script.sh: [0: not found
Что я делаю неправильно и как я могу его решить? Я googled вокруг, но не мог найти большую помощь.
Не знаю, помогает ли это, но все примеры ifs, которые я видел, имеют пробелы после фигурных скобок, например: if [condition] вместо: if [condition] –
@BenjyKessler Spot on, сработало. Отправьте его как ответ с объяснением, и я его соглашусь :) –