【问题标题】:Shell hacking: launch bash from cshShell hacking:从 csh 启动 bash
【发布时间】:2013-09-24 00:32:58
【问题描述】:

我正在尝试将 bash 设置为我大学帐户中的默认 shell。

但是,传统的 chsh 方法在这里不起作用,因为大学技术人员已将其作为启动 shell 禁用。但是,我可以通过从终端调用 bash 来调用 bash。所以,我开发了一个小技巧,通过修改我的~/.cshrc 文件,使我当前的 shell csh 能够自动启动 bash,以便它从中调用 bash。问题是,我希望以这样的方式设置它,当我退出我的 bash 会话时,我希望它也关闭它的父 csh 会话。我该怎么做?

== 编辑 ==

注意事项:正如 ajk 警告使用 csh 运行的脚本一样,我发现登录序列是在该 shell 上精确完成的困难方式。我现在无法再登录我的机器。我将不得不联系我的大学技术人员以删除 rc 文件。我怀疑这会让他们开心。 :\

所以,请注意。

【问题讨论】:

    标签: linux bash shell unix csh


    【解决方案1】:

    在您的.cshrc 文件中像这样开始bash

    exec bash
    

    最好将bash 替换为bash 的完整路径。

    另外,如果您必须运行任何用csh 编写的脚本,请小心——如果它不使用-f,它将在运行前执行您的.cshrc 文件。由于您在.cshrc 中执行bash,因此脚本可能不会按预期运行。在csh 中编写脚本是不可取的,但我至少参加过一门需要它的大学课程。

    【讨论】:

    • 短小精悍的天才。我完全忘记了exec,它具有替换东西的能力。将在 3 分钟内标记为正确,当时间限制到期时。
    猜你喜欢
    • 2011-09-07
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2015-01-23
    • 2015-04-16
    • 1970-01-01
    • 2017-06-10
    相关资源
    最近更新 更多