Cygwin /etc/passwd не соблюдает /bin/bash

Как я могу заставить Cygwin учитывать файл / etc / passwd и сделать мою оболочку по умолчанию bash вместо sh?

Я предполагаю, что это каким-то образом контролируется Windows XP, так как у меня раньше была проблема с разрешениями, и мне пришлось заново создать файл / etc / passwd после обновления разрешений в Win XP для моего идентификатора пользователя.

1 ответ

Решение

Попробуйте вставить этот код в свой ~/.emacs файл запуска (и перезапуск Emacs):

(setq shell-file-name "bash"
      explicit-shell-file-name "bash")

Вы также можете временно переименовать /bin/sh в /bin/sh.hold быть абсолютно уверенным, вызывает ли Emacs /bin/sh или же /bin/bash, Имейте в виду, что в некоторых случаях (см. Справочную страницу Bash) Bash будет вести себя как sh в зависимости от того, как он вызывается (например, если argv[0] это "ш").

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