【问题标题】:Why commands in .bashrc are not executed?为什么不执行 .bashrc 中的命令?
【发布时间】:2012-08-23 05:13:59
【问题描述】:

我的 .bashrc 中有以下几行,我希望在通过 ssh 登录时执行。

csh
source /x/y/.cshrc
source /x/y/z/sourceme

但问题是只有第一个命令被正确执行。 (csh提示即将出现) 以下源命令不生效。 我注意到'source'命令的bash(不是csh)引发了一些错误

我在某处读到这可能是由于 .bashrc 被多次执行。以及试图在 bash 本身而不是 csh 中执行的源命令。

我希望在登录时依次执行所有三个命令。我怎样才能做到这一点?我试过 .bash_profile .bash_login 等。我也没有 /etc/profile 的写权限

【问题讨论】:

    标签: bash unix redhat csh


    【解决方案1】:

    “命令”由 bash shell 解释。它们不是要馈送到终端的字节。发生的情况是 csh 以交互方式运行,一旦退出,bash 将获取两个(可能是 csh)脚本文件。

    看起来您只是想将您的 shell 更改为 csh(为什么,我不知道)。您是否尝试过为此使用chsh

    【讨论】:

    • 我正在尝试将 shell 更改为 csh,并运行一些脚本来为 csh 添加一些环境变量。目前我没有这个环境配置脚本的 bash 版本。
    【解决方案2】:

    如果您想在csh 中运行这些命令,请将它们移至您的.cshrc

    不过,请注意;使用csh 绝对会引发问题,你真的认为你知道你在做什么吗?为什么?

    【讨论】:

    • 使用csh 不仅会提出问题——它还可以回答问题!
    【解决方案3】:

    source"bashism",也就是说它在其他shell 中不起作用。请改用.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2019-08-07
      • 2023-03-06
      • 2021-10-17
      • 2016-06-28
      • 2013-07-20
      相关资源
      最近更新 更多