Можно использовать sed
диапазоны:
sed '/^ *ssl:/,/^ *[^:]*:/s/enabled: false/enabled: true/' file
Границами диапазона являются/^ *ssl:/
(начало раздела ssl )и/^ *[^:]*:/
(любой другой раздел ).
s
— обычная команда замены.
Вы должны вызывать скрипт как
source bin/postactivate
Процесс имеет переменные окружения. Предположим, что идентификатор процесса вашей оболочки равен 1003. Вы вызываете sudo sh./bin/postactivate
. PID 1003 разветвляется, чтобы создать новый процесс, скажем, 1108. Процесс 1108 вызывает exec
, чтобы изменить себя на sudo
. Затем sudo
изменяется на sh
для обработки вашего скрипта. Таким образом, PID 1108 устанавливает переменные среды для себя , такие как STATIC _ROOT. Затем он выходит. Ваша оболочка (PID 1003 ), которая ожидала 1108, печатает новое приглашение, но в среде для PID 1003 ничего не изменилось.