【问题标题】:Switching from bash to csh prompt从 bash 切换到 csh 提示符
【发布时间】:2016-04-21 09:38:25
【问题描述】:

我在 linux 控制台上工作,需要在 csh 提示符下工作。但是默认提示是 bash,我必须给出命令 csh 来更改模式。切换提示的原因是有一些后台文件只在 csh 提示下运行。

例子:

-bash-4.1$ ade useview shkanodi_sqlplus_v1

bash: /usr/local/nde/setup/nderc.csh: line 44: syntax error near unexpected toke                                                                                                                     n `('
bash: /usr/local/nde/setup/nderc.csh: line 44: `foreach file (.ndeprodrc .ndevie                                                                                                                     wrc)'
bash: /etc/skel/cshrc-DEFAULT: line 20: syntax error: unexpected end of file

说明: 在上面的示例中,命令 ade useview shkanodi_sqlplus_v1 在 bash 提示符下没有正确执行,我首先必须给出 csh 命令,然后运行该命令。我想绕过给 csh 命令。

【问题讨论】:

  • 您正在使用bash 运行csh 脚本。不。这是两个完全不同的程序。
  • @Carpetsmoker 这是运行 csh 脚本的后台进程。我知道这些是不同的程序,我们不能用 bash 运行 csh 脚本。目的是在执行在后台调用 csh 脚本的命令之前绕过运行命令 csh。现在只需在后台脚本中执行 csh 命令即可。

标签: linux bash shell console csh


【解决方案1】:

1.确保您已安装 csh。

2.了解csh的位置:

which csh
or    
whereis csh

下面,我假设位置是 /bin/bash。

a) 如果您有管理权限,只需以 root 身份运行:

usermod -s /bin/csh YOUR_USERNAME

(将 YOUR_USERNAME 替换为您的用户名)。

b) 如果您没有 adm。权利,您仍然可以在登录时运行 csh --login,方法是将以下行放在 .profile 的末尾(在您的主目录中):

setenv SHELL /bin/bash
exec /bin/csh --login

参考:bash from csh

【讨论】:

  • 谢谢阿尼。我刚刚在主目录中 .bashrc 文件的末尾添加了行 exec /bin/csh 。它解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-27
  • 2011-06-30
  • 1970-01-01
  • 2021-06-27
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多