Требуется ли для «Linux» Python? [закрыто]

Похоже, что любой запрашиваемый сервер настроен на возврат окончаний строк в стиле Windows (\r\n) вместо «обычного» стиля *nix \n. К сожалению, в отличие от \n, \rне удаляются из вывода команды при назначении переменной. Для иллюстрации:

$ var=$(printf 'hello\n')
$ printf  '%s' "$var" | od -c
0000000   h   e   l   l   o
0000005
$ var=$(printf 'hello\r\n')
$ printf  '%s' "$var" | od -c
0000000   h   e   l   l   o  \r
0000006

Как видите, \nавтоматически удаляется, а \r— нет. Итак, если вы не можете изменить конфигурацию сервера, вам просто нужно удалить \rсамостоятельно:

job_url=$(curl ... | grep Location | grep -o -E '[^ ]+$' | tr -d '\r')
1
27.10.2018, 03:12
3 ответа

Python не нужен, и легко доказать :, что базовая установка Debian может получить доступ к сети и т. д., но не имеет Python.

Python такой же интерпретатор, как и любой другой. Это может потребоваться в некоторых дистрибутивах, если их основные инструменты (, менеджеры пакетов и т. д. )написаны на Python; требуются другие интерпретаторы, и никто не поднимает вокруг них шум (Perl, например, или оболочка в стиле POSIX -). Поскольку в настоящее время Python так широко используется, многие дистрибутивы устанавливают его по умолчанию в свои стандартные настройки, даже если он им абсолютно не требуется.

Что касается Android, вам потребуется Python для его сборки и запуска некоторых инструментов разработки (, начиная с Repo). Операционная система Android, работающая на целевых устройствах, не включает Python.

18
27.01.2020, 23:10

Python не является обязательным для Linux, и существует множество небольших «встроенных» Linux-систем, в которых его нет.

Однако многие дистрибутивы требуют этого. Таким образом, RHEL может иметь зависимость от Python, потому что некоторые из их инструментов управления и сценариев были написаны на нем. В этих системах Python является обязательным требованием.

22
27.01.2020, 23:10

Нет необходимости в том, что система не будет работать, если ее нет, но в некоторых дистрибутивах есть инструменты, написанные на Python.

Anaconda, программа установки для RHEL, CentOS, Fedora, Oracle Linux и Scientific Linux, написана на Python, как и yumи dnf, являющиеся менеджерами пакетов. Они также требуют, чтобы Python функционировал, поэтому, если с ним что-то не так, они не будут работать.

portage, менеджер пакетов для Gentoo, также написан на Python.

3
27.01.2020, 23:10

Теги

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