У меня есть немного сценария, который устанавливает мой прокси в масштабе всей системы сразу, он называет gconftool-2, устанавливает прокси в ~/.ssh/config и устанавливает прокси для Кв. Это все относительно просто. Настоящая проблема возникает в обновлении моих рабочих сессий удара.
Возможно выполнить команду от подсказки ($PS1, $PROMPT_COMMAND, даже привязка входит в команду) - но они все выполняются как отдельные команды - и следовательно не имеют никакого влияния на мою текущую среду. Вместо того, чтобы выполнить эти команды, я хотел бы получить их.
Даже это не работает:
export PS1="\$(source /etc/profile.d/proxy.sh)$ "
Я понимаю, почему это не работает (я думаю), но как я могу обойти его?
спасибо Mark
Причина, что Вы показываете, не работает, как Вы, возможно, подозревали, то, что $()
создает подоболочку. Изменения в подоболочке не сохраняются к родителю и, как Вы говорите, не имеете никакого влияния на свою текущую среду. Однако PROMPT_COMMAND
может сделать то, что Вы хотите, не создавая подоболочку:
export PROMPT_COMMAND='source /etc/profile.d/proxy.sh'