Файл .bashrc
анализируется один раз при каждом запуске нового сеанса терминала.
Во время синтаксического анализа функция prompt_command
добавляется к переменной среды, но нет ни шага компиляции, ни «объекта», созданного, поскольку Bash является языком интерпретатора с одним -проходом .
Когда в моем терминале вводится новая строка, выполняется PROMPT_COMMAND
, что эффективно извлекает prompt_command
из переменных окружения (так же, как я мог бы набрать prompt_command
в своей оболочке )и выполнить это построчно. Следовательно, поведение аналогично прямому назначению команды на PROMPT_COMMAND
. Прямое присваивание должно быть даже (незаметно )быстрее, поскольку оно позволяет избежать необходимости извлечения переменной окружения.
В моем случае это было вызвано тем, что были установлены обе версии docker: apt и snap. Я удалил снап-версию докера, запустивsudo snap remove docker
После перезагрузки контейнеры Docker снова запустились, и настройки прокси, которые я настроил для демона, также сработали.