Как я могу использовать свою собственную оболочку в качестве оболочки для входа?

Предположим, что у меня есть мини-оболочка с именем minish, которая предоставляет только cd, ls, rm, mkdir и т. Д. minish сохранена в ~/Desktop/Shell. Его можно использовать из другой оболочки, такой как bash, вызывая просто ~/Desktop/Shell/minish. Это хорошо работает.

Но чтобы использовать его в качестве оболочки входа в систему, я добавил ~/Desktop/Shell/minish внизу /etc/shells, выполнил chsh и набрал ~/Desktop/Shell/minish, но там написано, что minish - недопустимая оболочка.

Я предположил 2 варианта этой ошибки:

  • Поскольку minish нет в /bin, так как все другие оболочки находятся в /bin.
  • Поскольку некоторые квалификации следует называть оболочкой , поэтому ни один исполняемый файл не может быть оболочкой , поэтому мой minish тоже.

Если причиной является второй случай, каковы эти квалификации или потребности и как chsh проверяет эти условия? Или есть какая-то другая причина?

Спасибо.

1
задан 7 April 2015 в 03:09

1 ответ

Вы помещаете ~/Desktop/Shell/minish дословно в /etc/shells; расширение ~ является функцией оболочки и вероятно неподдерживаемый любыми синтаксическими анализами приложения /etc/shells, потому что оно не знало бы, к тому, чей корневой каталог ~, как предполагается, относится. Вместо этого необходимо использовать имя полного пути, например, /home/analysis/Desktop/Shell/minish.

4
ответ дан 6 April 2015 в 17:09

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

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