запуск скрипта bash в systemd

$ echo 'ERROR: Could not find a version that satisfies the requirement package== (from versions: 19.2.0, 19.5.0, 19.6.1, 19.7.0, 19.7.1, 19.8.0, 19.9.0)' | \
    sed -e 's/^.*versions: //; s/, /\n/g; s/)//'  | \
    sort -V | tail -n1
19.9.0

Для этого требуется версия сортировки, которая понимает опцию -V(, также известную как --version-sort). Сортировка GNU и сортировка FreeBSD подходят. Я не знаю, делают ли другие.

0
27.11.2021, 14:39
2 ответа

Проблема с путем (и общее несоответствие в вашем описании ).

В вашем описании сценарий /home/bsc/start.shначинается с ./geth_linux, но он должен начинаться со строки шебанга.

В сообщении об ошибке говорится line 1: geth: command not found. Он не говорит ни geth_linux, ни ./geth_linux. Так что тут явно какая-то путаница.

Вы должны использовать только следующие вызовы команд:

  • полный путь, например./home/bsc/start.sh(это лучшее решение)
  • нет пути, т.е. geth_linuxвместо ./geth_linux; это работает только для команд, для которых команда whichвыводит абсолютный путь к файлу.
0
27.11.2021, 20:31

Хорошо, я разобрался. проблема заключалась в том, что bsc.service пришлось переименовать в geth.service. после внесения этого изменения все работает

0
28.11.2021, 06:08

Теги

Похожие вопросы