CentOS가 설치된 VMWare 가상 머신을 사용하고 있습니다.
현재 BASH 셸을 사용하고 있지만 C 셸이 필요한 애플리케이션을 실행해야 합니다.
한 사람이 직접 쉘을 변경할 수 있나요? 모든 소프트웨어를 다시 설치해야 합니까? 기존 소프트웨어가 작동합니까? 쉘 바꾸는게 그렇게 쉽나요?
필요한 프로그램에는 C 셸로 작성된 설치 스크립트가 있으며, 프로그램을 실행하려면 C 셸이 필요합니다.
답변1
신청서 (올바른)는 그렇지 않습니다필요하다C 셸, csh 구문을 사용하는 래퍼 스크립트에는 C 셸이 필요하며, 이 경우 첫 번째 줄은 다음과 같습니다.
#!/bin/csh
또는
#!/bin/tcsh
또는 유사합니다.
로그인 셸을 csh로 전환하지 않고도 bash에서 이 스크립트를 실행할 수 있습니다.
답변2
chsh
CentOS 시스템에 기본적으로 설치되는 유틸리티를 사용하여 사용자의 셸을 쉽게 변경할 수 있습니다 . 구문은 다음과 같습니다.
chsh -s /bin/csh OR /bin/tcsh
이 작업을 수행하기 전에 시스템에 C Shell이 설치되어 있는지 확인하세요. /etc/shells
/ bin/csh
(또는 /bin/tcsh
)로 나타나야 합니다. 거기에 없으면 다음을 수행하여 설치할 수 있다고 확신합니다. yum install tcsh
(내 Ubuntu 16.04 LTS에서는 다음과 같이 작동합니다 csh
.)
이러한 변경 사항을 적용하려면 시스템에서 완전히 로그아웃했다가 다시 로그인해야 합니다.
실행하려는 스크립트일 경우 스크립트 상단에 shebang 헤더를 추가하거나 #!/bin/tcsh
.txt #!/bin/csh
에서 사용 가능한 이름을 기반으로 shebang 헤더를 추가하면 됩니다 /etc/shells
. shebang header
스크립트의 첫 번째 줄입니다.
답변3
exec tcsh
현재 실행 중인 셸 을 tcsh
.exec bash
bash
source foo.cshrc
% exec bash
bash-4.2$ exec tcsh
$ exec zsh
%
소프트웨어가 작동하는지 여부는 자세한 정보 없이 대답하기 어려운 질문입니다(참조:질문 중지)
chsh
다른 사람들이 지적했듯이 쉘 변경은 더욱 영구적일 수 있습니다.