我得到了一个基于cshrc
.这样,用户应该获取一个setup.cshrc
文件,并在其中获取许多其他 .cshrc 脚本来设置环境来编译和运行一堆旧的 Fortran 编写的程序。
我正在运行 RHEL 7.9 x86-64,作者告诉我创建一个用户帐户,或者更改我的用户帐户,以便/usr/bin/csh
正确运行所有内容。 这真的有必要吗?
当我从 bash shell 运行这些 csh 安装文件时,我所有的尝试都失败了。但是,如果我/etc/passwd
确实在 linux 中创建了一个本地用户帐户,那么/usr/bin/csh
当/usr/bin/bash
我运行它们时,提供给我的所有 csh 脚本都会起作用。但我更喜欢我所有的 linux 帐户(包括我的)都是bash
.有没有办法保留我的帐户bash
但运行这些csh
脚本?
答案1
您将能够从
csh
或运行安装文件tcsh
,通常不能从bash
(这实际上取决于脚本的内容csh
)。作为(shell)脚本的规则,如果文件在其第一行
setup.cshrc
正确配备了 shebang#!/bin/csh
或#!/bin/tcsh
(或其变体),那么您需要该解释器存在,因为将调用相应的 shell 环境来获取要正确执行的脚本。
如果输出chsh -l
包括 /bin/csh
,或者/bin/tcsh
,尝试:
$ /bin/csh setup.cshrc # replace csh by tcsh if needed
如果输出chsh -l
不包括 /bin/csh
,或,在您的系统上/bin/tcsh
安装:tcsh
$ sudo yum install tcsh
$ cat /etc/shells # < check that output includes /bin/tcsh
然后您可以像上面一样从 shell 运行:
$ tcsh setup.cshrc
或者暂时将当前帐户的默认登录 shell 更改为tcsh
:
$ chsh -s tcsh
并从那里执行您的设置。