![bash 계정이 작동하지 않는 RHEL 7에서 cshrc 스크립트 실행](https://linux55.com/image/14043/bash%20%EA%B3%84%EC%A0%95%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20RHEL%207%EC%97%90%EC%84%9C%20cshrc%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EC%8B%A4%ED%96%89.png)
.cshrc 기반의 스크립트를 얻었습니다 cshrc
. 이렇게 하면 사용자는 setup.cshrc
파일을 얻고 그 안에 다른 .cshrc 스크립트를 가져와서 Fortran으로 작성된 여러 오래된 프로그램을 컴파일하고 실행할 수 있는 환경을 설정해야 합니다.
저는 RHEL 7.9 x86-64를 실행하고 있으며 작성자는 /usr/bin/csh
모든 것이 올바르게 실행되도록 사용자 계정을 만들거나 사용자 계정을 변경하라고 말했습니다. 이것이 정말로 필요한가?
Bash 쉘에서 이러한 csh 설치 파일을 실행하면 모든 시도가 실패합니다. 그러나 /etc/passwd
Linux에서 로컬 사용자 계정을 생성 하면 나에게 제공된 모든 csh 스크립트를 실행할 /usr/bin/csh
때 작동합니다. /usr/bin/bash
하지만 나는 내 모든 Linux 계정(내 계정 포함)이 . 내 계정을 유지 하면서 이 스크립트를 실행할 bash
수 있는 방법이 있습니까 ?bash
csh
답변1
일반적
csh
으로 설치 파일을 실행할 수도 있고 실행하지 않을 수도 있습니다 (실제로 스크립트 내용에 따라 다름 ).tcsh
bash
csh
(셸) 스크립트에 대한 규칙에 따라 파일의 첫 번째 줄에
setup.cshrc
shebang#!/bin/csh
또는#!/bin/tcsh
그 변형이 제대로 장착되어 있으면 해당 통역사가 있어야 합니다. 해당 셸 환경이 호출되어 스크립트가 올바르게 실행되도록 합니다.
출력되는 경우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
그런 다음 위와 같이 셸에서 실행할 수 있습니다.
$ tcsh setup.cshrc
또는 현재 계정의 기본 로그인 셸을 일시적으로 다음으로 변경합니다 tcsh
.
$ chsh -s tcsh
거기에서 설정을 실행하세요.