На macOS Big Sur у меня появились проблемы при запуске Midnight Commander под рутом. С первого раза не запускается, выдавая ошибку. Но бывает что и со второго и третьего раза не запускается. Ошибка выглядит как гейзенбаг - то есть, то нет...

❱ sudo mcedit /etc/hosts                                                 
common.c: unimplemented subshell type 1
read (subshell_pty...): No such file or directory (2)

И, возможно, они появились после недавних манипуляций с апгрейдом Bash до 5й версии, когда я играл со сменой командной строки. Хоть я и поставил Bash5, все же я вернул по умолчанию ZSH.

Ставим Bash5 на MacOS
Я, может, из старой гвардии, поэтому привык к Bash и для меня zsh - менеекомфортный. Хотя я знаю что zsh мощен, его можно сделать по хипстерскипривлекательным и вообще... Но я все же имею опыт именно с Bash. Короче, на серверах , обычно по дефолту идет Bash 4й версии, а вот на MacOS онсовсем ста…

Так вот, решаем проблему следующим образом. Сначала проверяем шел, который установлен для суперпользователя:

❱ dscl . -read /Users/root UserShell
UserShell: /bin/sh

Если видите /bin/sh, то нужно поменять на bash или zsh (на ваше усмотрение):

❱ sudo dscl . -change /Users/root UserShell /bin/sh /bin/bash
# И проверяем результат
❱ dscl . -read /Users/root UserShell

Альтернативный способ

Второй способ, более простой в плане понимания, особенно если вы юниксоид. Сначала входите в учётку рут пользователя и затем из под рута меняете шел командой chsh:

❱ 
❱ sudo su
Password:
sh-3.2# chsh -s /usr/local/bin/bash
Changing shell for root.
❱ exit
❱ 
❱ 
❱ dscl . -read /Users/root UserShell
UserShell: /usr/local/bin/bash
❱ 

Проблема решена