【发布时间】:2014-05-20 17:23:56
【问题描述】:
好吧,我又来回答一个简单的问题了……
Unix 风格:SunOS devsrv2 5.10 Generic_147148-26 i86pc i386 i86pc
在我的工作环境中,我登录到一个 tsch shell...登录后,我输入“bash”,它会将我放入一个 bash shell(我更喜欢)。
因此,我不必总是输入“bash”,而是创建了一个 .cshrc 脚本,其中包含一行:
#.cshrc
bash
注销并重新登录后,我直接进入 bash shell...
这就是问题所在...以前,当我执行登录然后键入“bash”的两步过程时,我可以键入“which perl”,然后我会得到响应“/usr/bin/perl”。 ..
现在我什么也得不到……直到我发出命令“exit”,然后出现“/usr/bin/per”文本……
所以,总结一下:
- 我登录
- 我输入“bash”
- 我输入“which perl”
- 我返回“/usr/bin/per”
当我添加 .cshrc 文件并登录时:
- 让我直接进入 bash
- 我输入“which perl”
- 除了命令行,我什么也得不到
- 我输入“退出”
- 我得到“/usr/bin/perl”
我感觉这与我键入 bash 时的系统设置 STDOUT 与我在 cshrc 文件中手动执行时的系统设置有关,但我不确定如何在脚本中导出它...
非常感谢任何帮助。
谢谢。
【问题讨论】:
-
不知道你想在这里实现什么,但你可以改变你的登录外壳。也许使用
chsh。 -
我正在尝试使用 bash shell 并绕过必须输入“bash”...
-
which是否在您的系统上实现为 Csh 脚本?对应的 Bash 命令是type。 -
如果您无法更改您的外壳或让您的管理员按照@devnull 的建议为您更改它,那么也许您希望您的
.cshrc改为说exec /bin/bash... 那将替换您当前正在运行[t]csh和bash,而不是将bash作为被输入缓冲等混淆的子进程运行......