无法执行 /bin/false: 没有这样的文件或目录

sul*_*ing 10 osx shell bash

我正在尝试在 Mac OS 上使用以下命令打开GNU Screen

host:~ user$ screen
Run Code Online (Sandbox Code Playgroud)

屏幕终端打开但很快就死了,并显示错误消息:

无法执行 /bin/false: 没有这样的文件或目录

我的终端被配置为bash在启动时打开shell。我试过将终端外壳设置为sh,它给出了同样的错误。

但是,当我执行screen命令 as 时sudo,命令成功。

普通用户如何解决?

Kus*_*nda 9

查看您的 shell 初始化脚本bashscreen配置文件,看看是否有任何地方false使用了显式路径/bin/false

在 macOS 上,该false实用程序位于 中/usr/bin,而不是/bin.

如果失败,请/bin/false通过检查/etc/passwd或查看系统偏好设置的“用户和组”部分中的“高级选项”来查看您的登录外壳是否出于某种奇怪的原因设置为在用户帐户列表中,您也可以在此处更改外壳)。有人可能会不假思索地遵循教程/HOWTO该教程/HOWTO将用户设置/bin/false为默认shell。

当您运行screensudo您使用root的壳/屏幕初始化文件。这就是为什么它有效。

  • 抱歉,按 Enter 不小心发布了不完整的评论。我检查了以下文件:/etc/passwd 和 ~/.screenrc。但是,似乎我的 shell 是使用 /bin/false 作为默认 shell 设置的。当我执行“echo $SHELL”时,它给出了“/bin/false”。执行“export SHELL=/bin/bash”修复了该问题。:) (2认同)

小智 5

转到终端上的首选项,然后转到常规,然后在“外壳打开方式”下选择命令并键入 bash -l

  • 请解释**这是什么**以及**如何**解决问题。 (3认同)