我怎样才能使用自己的 shell 作为登录 shell?

我怎样才能使用自己的 shell 作为登录 shell?

假设我有一个名为的迷你 shell,minish它仅提供cd、、、等。保存在 中。它可以从其他 shell ls(例如 )中调用 来rm使用。它运行良好。mkdirminish~/Desktop/Shellbash~/Desktop/Shell/minish

但是为了将其用作登录 shell,我~/Desktop/Shell/minish在底部添加了/etc/shells并执行chsh并输入~/Desktop/Shell/minish,但它说minish这是一个无效的 shell。

我猜测这个错误有两种可能性:

  • 因为minish不在/bin因为其他 shell 都在/bin
  • 因为要被称为,所以不是任何可执行文件都不能是,我的minish也一样。

如果是第二种情况,那么需要满足哪些条件或必要条件,如何chsh检查这些条件?还是有其他原因?

谢谢。

答案1

~/Desktop/Shell/minish逐字逐句地输入/etc/shells; 的扩展~是 shell 功能,可能不受解析 的任何应用程序的支持/etc/shells,因为它不知道~应该引用谁的主目录。相反,您需要使用完整路径名,例如/home/analysis/Desktop/Shell/minish

相关内容