微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 ^D 退出用户让 Bash 认为我正在跳出循环?

如何解决为什么 ^D 退出用户让 Bash 认为我正在跳出循环?

我以一个用户身份登录 Ubuntu 服务器,然后 su 以特定于应用程序的用户身份管理 Rails 应用程序。当我完成并想注销时,通常可以方便地输入 controlD,但是在这台特定的机器上,我收到一条非常奇怪的错误消息:>

bash: break: only meaningful in a `for',`while',or `until' loop

什么会导致 Bash 认为我在试图 break 退出的循环中? ?

这只发生在“内部”(特定于应用程序)用户,而不是“外部”用户

bind -X 不显示特定于应用的用户的任何自定义键绑定。

我之前没有注意到这一点,但 exit 也有同样的问题。 ?

特定于应用程序的用户拥有一个 ~/.bash_logout 文件

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。