$ 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 подходят. Я не знаю, делают ли другие.
Проблема с путем (и общее несоответствие в вашем описании ).
В вашем описании сценарий /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
выводит абсолютный путь к файлу. Хорошо, я разобрался. проблема заключалась в том, что bsc.service пришлось переименовать в geth.service. после внесения этого изменения все работает