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


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

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

Я предположил две возможности этой ошибки:

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

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

Спасибо.


1
2018-04-06 14:09


происхождения




ответы:


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


4
2018-04-06 18:45



Дэвид, поскольку он является пользователем maths.se, в этом случае это: @Analysis: поскольку вы никогда не принимали ответа на этом сайте, не забудьте нажать маленький серый  под крайне малым числом слева от этого ответа Теперь превратив его в красивый зеленый. Если вам не нравится мой ответ, нажмите маленькую серо-стрелку вниз ниже 0, и если вы действительно как и мой ответ, щелкните по маленькой серой галочке а также маленькая стрелка вверх ... Если у вас есть дополнительные вопросы, перейдите к askubuntu.com/questions/ask - Fabby