2012-08-23 56 views
0

我在我的.bashrc中有以下几行,我希望在通过ssh登录时执行这些行。为什么.bashrc中的命令没有执行?

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

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

我在某处读到这可能是由于.bashrc执行多次。而源代码命令试图在bash中执行而不是csh。

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

回答

3

“命令”由bash shell解释。它们不是要送入终端的字节。会发生什么是csh以交互方式运行,并且一旦它退出bash就会获得两个(推测是csh)脚本文件。

它看起来像你只是试图改变你的shell为csh(为什么,我不知道)。你尝试过使用chsh吗?

+0

我正在尝试将shell更改为csh,并运行一些用于为csh添加一些环境变量的脚本。目前,我没有该环境配置脚本的bash版本。 – gkns

1

如果要在csh中运行这些命令,请将它们移动到.cshrc

尽管如此,使用csh绝对会引发问题,你真的认为你知道你在做什么吗?为什么?

+0

使用'csh'不仅仅是提出问题 - 它也回答了它! –

0

source是一个"bashism",也就是说它不会在其他shell中工作。改为使用.

+0

'source'也是一个csh-ism –