Экран – наследует среду текущего окна

На экране GNU, как я могу создать новое окно, чья оболочка наследует среду оболочки в текущем окне?

Обычный Ctrl + A C , похоже, не делает этого.

  • Как bash изменяет экологические переменные на лету?
  • Сравнение строк с целым числом в [[test
  • Как иметь дело с пробелами в переменной
  • source my ~ / .bash_aliases из скрипта не в ~ /
  • Как завершить фоновый процесс в Linux, когда pid неизвестен?
  • Не теряйте текущую команду, когда вверх нажата кнопка в терминале
  • Почему printf игнорирует IFS при печати результата моего сценария?
  • Как выводить в буфер обмена и вставлять в bash tty?
  • Ошибка при вызове mv с подстановочными знаками
  • Как убить строку PID?
  • Есть ли быстрый способ установить пакеты, если есть подсказка?
  • почему переменная массива не считается установленной, если ей присваивается `()`?
  • One Solution collect form web for “Экран – наследует среду текущего окна”

    Если вы задали переменные среды на одном экране (скажем, запустите bash), а затем откройте новый экран, это отдельный процесс bash и, следовательно, не будет отображать среду на отдельной уже запущенной оболочке bash. Быстрое решение проблемы:

    env TERMCAP= env | sed -r 's/^(\w+)=(.*)$/\1="\2"/' > env.sh 

    затем, как только вы нажмете Ctrl, чтобы получить новую оболочку, вы можете

     source env.sh 

    Это хаки, и я использую env TERMCAP= env потому что переменная окружения TERMCAP является многострочной и делает sed намного сложнее. Это некрасиво, но это работает 🙂

    Вы можете изменить его, чтобы сделать:

     env TERMCAP= env | sed -r 's/^(\w+)=(.*)$/export \1="\2"/' > env.sh 

    Таким образом, переменные также экспортируются.

    Linux и Unix - лучшая ОС в мире.