изменение оболочки с Zsh на Bash

Мой веб-сервер был взломан кем-то, кто использовал оболочку zsh. Я чувствую себя более комфортно, используя оболочку bash, так как это настройки по умолчанию, которые поставляются с Ubuntu и OS X (две основные операционные системы, которые я использую). Но этот вопрос ориентирован на сервер Ubuntu. У меня есть 4 веб-сайта, работающих на этом веб-сервере, я использую byobu, я использую tmux, я использую ruby ​​/ ruby ​​на rails, node.js, apache, несколько демонов. Если я переключу текущую корневую оболочку с zsh на bash, могут ли быть какие-либо негативные побочные эффекты, которые могут возникнуть в результате этого переключения? Например, будут ли процессы уничтожены, потому что их родительский процесс (оболочка) был переключен?

23
задан 4 December 2013 в 03:59

4 ответа

Изменение оболочки с помощью sudo chsh --shell = / bin / bash $ USER изменит поле оболочки в / etc / passwd . Это значение используется только во время входа в систему, когда система не знает, какую оболочку использовать для вас.

Запущенные процессы, независимо от того, запущены ли они zsh , bash apache или evil_overlord's_program , не будут затронуты

10
ответ дан 4 December 2013 в 03:59

Ответ из переполнения стека ( переключение с zsh на bash ):

Вы можете просто использовать exec для замените текущую оболочку новой оболочкой:

Переключиться на bash:

 exec bash
 

Перейти к zsh:

 exec zsh
 

Это не повлияет на новые окна терминала или что-то еще, но это удобно.

35
ответ дан 4 December 2013 в 03:59

Откройте свой терминал и используйте следующую команду:

chsh -s $(which bash)
8
ответ дан 4 December 2013 в 03:59

В Mac OS Catalina

  1. Изменить на zsh:

     chsh -s / bin / zsh
     
  2. Перейти на bash:

     chsh -s / bin / bash
     
1
ответ дан 23 November 2019 в 03:10

Другие вопросы по тегам:

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