CentOS 및 Unix 셸 전환

CentOS 및 Unix 셸 전환

CentOS가 설치된 VMWare 가상 머신을 사용하고 있습니다.

현재 BASH 셸을 사용하고 있지만 C 셸이 필요한 애플리케이션을 실행해야 합니다.

한 사람이 직접 쉘을 변경할 수 있나요? 모든 소프트웨어를 다시 설치해야 합니까? 기존 소프트웨어가 작동합니까? 쉘 바꾸는게 그렇게 쉽나요?

필요한 프로그램에는 C 셸로 작성된 설치 스크립트가 있으며, 프로그램을 실행하려면 C 셸이 필요합니다.

답변1

신청서 (올바른)는 그렇지 않습니다필요하다C 셸, csh 구문을 사용하는 래퍼 스크립트에는 C 셸이 필요하며, 이 경우 첫 번째 줄은 다음과 같습니다.

#!/bin/csh

또는

#!/bin/tcsh

또는 유사합니다.

로그인 셸을 csh로 전환하지 않고도 bash에서 이 스크립트를 실행할 수 있습니다.

답변2

chshCentOS 시스템에 기본적으로 설치되는 유틸리티를 사용하여 사용자의 셸을 쉽게 변경할 수 있습니다 . 구문은 다음과 같습니다.

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 bashbashsource foo.cshrc

% exec bash
bash-4.2$ exec tcsh
$ exec zsh
% 

소프트웨어가 작동하는지 여부는 자세한 정보 없이 대답하기 어려운 질문입니다(참조:질문 중지)

chsh다른 사람들이 지적했듯이 쉘 변경은 더욱 영구적일 수 있습니다.

관련 정보