为什么.bashrc中的命令不会被执行?

时间:2012-08-23 05:14:00

标签: bash unix redhat csh

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

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

但问题是只有第一个命令正在正确执行。 (csh提示即将发布) 以下源命令不受影响。 我注意到有一些错误是从bash(而不是csh)中引发的'来源'命令

我在某处读到这可能是因为.bashrc多次执行。并且源命令试图在bash本身而不是csh中执行。

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

但要小心谨慎;绝对使用csh引发了一个问题,你真的认为你知道你在做什么吗?为什么呢?

答案 2 :(得分:0)

source"bashism",也就是说它不适用于其他shell。请改用.