Я благодарю за ответы, хотя несколько жаль, что они, увы, не по сути моего вопроса.
Тем не менее, я сделаю несколько реплик, хотя сразу же попрошу не переводить их в нетематические дискуссии, тем более эмоциональные.
Кроме того, на форуме, по непонятным для меня причинам, нет опции предпросмотра написанного. Заранее прошу прощения, если будет выглядеть криво.
doza_and
Тогда вам важно посмотреть на https://www.docker.com/, https://www.ansible.com/, https://www.saltstack.com/
и ответить что вас не устраивает в готовых системах.
Если в целом - то не устраивает тем, что я хочу не этого.
Это системы управления установкой пакетов и конфигурациями.
Мне нужно связать несколько существующих программ в цепочку, с возможностью неких ветвлений по дороге. Это несколько иное, и гораздо приземленнее, но тоже имеет право на жизнь.
doza_and
Вообще управлять системой в которой чтото кудато неизвестно как установлено идея помоему порочная и обреченная на провал.
Даже спорить не буду.
Rodegast
Что означает “обратиться”? Если нужно выполнить программу, то os.execvp / subprocess самостоятельно могут найти путь к исполняемому файлу по информации из переменных окружения
Несомненно. Но если их нет, то программа должна будет прекратить работу и аварийно завершиться.
Поэтому, хороший тон - вначале проверить, и убедиться в том, что нужные программы есть, и только потом начинать работу. Этого я и хочу.
py.user.next
Во всех крупных программах эти пути сначала отыскиваются по известным местам, а потом настраиваются/перенастраиваются пользователем.
Помилуй Бог, кто бы спорил?
py.user.next
Только при чём тут FreeBSD?
А что с ней не так?
py.user.next
Неужто ты пишешь кросс-системную программу по типу швейцарского ножа, в котором есть всё, только всё по отдельности фиговое? Для каждой системы у тебя должна быть версия программы под неё.
Я еще раз перечитал мой вопрос и там нет ни малейшего намека на то, что я собираюсь ставить в систему какие-то ненормативные пакеты. Не знаю, почему Вы пришли к такому выводу…
py.user.next
Программа для разных систем отличается не только способом установки в них; очень часто и взаимодействие программы с этими системами различно.
Я рад, что Вы наконец-то поняли природу моего беспойства.
Конечно, можно тюнить свой скрипт под каждую платформу индивидуально, но я полагал, что есть некий модуль, позволяющей с учетом принятых путей и прочего узнать стоят ли в конкретной системе awk, sed и
что-то, что еще нужно.
py.user.next
Например, в винде используется Ctrl+Z, а в лине Ctrl+D. И пользователю в одной системе нужно писать “нажми Ctrl+Z”, а в другой системе в том же месте надо писать “нажми Ctrl+D”. Это уже разный код самой программы.
На верблюде, насколько я помню, это очень давно автоматизировано. А тут нет?
Ogogon.