Полностью Bash перезапуска

Поместите его простой:

SFTP = SSH + SFTP-server on server
SCP  = SSH + `scp` on server side
FISH = SSH + `dd` (and some other basic Unix utilities on the server side only) 
18
11.09.2018, 10:38
4 ответа

Имейте его сама замена собой.

exec bash -l

Обратите внимание, что это не будет влиять на вещи, такие как cwd или экспортируемые переменные.

32
27.01.2020, 19:45
  • 1
    Хороший, но я особенно хотел бы сделать это, чтобы проверить и видеть если мой PATH устанавливается, как я хочу или мой PS1, и т.д. –  Naftuli Kay 17.10.2011, 01:35
  • 2
    Выньте exec и Вы получаете оболочку, которая получает файлы, которые Вы хотите. Затем просто exit когда Вы сделаны, проверив. –  Arcege 17.10.2011, 03:20
  • 3
    @TK: Любые переменные, которые Вы присваиваете, будут иметь приоритет по тем перенесенным от предыдущей оболочки. –  Ignacio Vazquez-Abrams 17.10.2011, 06:23
  • 4
    Таким образом, это будет работать на изменение моей подсказки Bash? Т.е., это перезагрузит мою подсказку удара каждый раз, когда я выполняю его? –  Naftuli Kay 17.10.2011, 06:35
  • 5
    Пока Вы устанавливаете $PS1 в файлах запуска удара, да. –  Ignacio Vazquez-Abrams 17.10.2011, 06:40

Я срочно предлагаю войти в систему на отдельном окне / экран. Таким образом, у Вас все еще есть рабочая сессия, если что-то идет не так, как надо с Вашими изменениями для запущения файлов. Также Вы, несомненно, будете иметь чистую среду.

Причина: Я видел, что слишком много людей блокировали себя из системы из-за простой опечатки в их .profile (или такой).

9
27.01.2020, 19:45
  • 1
    +10, чистая оболочка, где можно изменить редактирования, важна. –  Sardathrion - Reinstate Monica 17.10.2011, 16:17
  • 2
    я нахожусь в DE, таким образом, это не должно быть так плохо, Bauhaus да, быть осторожно. –  Naftuli Kay 17.10.2011, 20:12

Если Ваша цель состоит в том, чтобы просто считать измененные файлы снова, Вы не должны перезапускать ее. Можно просто получить его.

source filename

или

. filename # notice the dot

Обратите внимание, что это не даст Вам "чистое состояние" в некотором смысле, что оно не сбросит переменных набора или определенных функций...

3
27.01.2020, 19:45
su -l yourOwnUserName

Откроет новую оболочку для yourOwnUserName пользователь со всеми перезагруженными настройками. Это независимо от оболочки, поскольку это относится к параметрам настройки системы, не Вашей определенной оболочке. Это также загружает некоторые настройки в масштабе всей системы это bash -l не делает (как группы пользователей).

2
27.01.2020, 19:45
  • 1
    важное примечание: "новая оболочка" здесь означает оболочку в Вашей существующей оболочке, таким образом, Вы - только вложенные оболочки, не заменяя Вашу исходную. Принятый ответ делает это правильно. –  underscore_d 24.09.2015, 03:40

Теги

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