우리 회사는 Red Hat Linux 시스템을 사용하고 / home에 모든 사람에게 계정을 할당합니다. 불행히도 우리 시스템은 tsch를 사용하고 있습니다. 또한 슈퍼 사용자 권한이 없으므로 chsh 명령을 사용하여 bash로 변경할 수 없습니다. 더 나쁜 것은, ypchsh도 사용할 수 없습니다. 마지막으로 .cshrc에 다음 줄을 추가합니다.
bash
echo $0
.bashrc를 적절하게 구성하십시오 (원본 .cshrc에서 복사하고 필요한 구문 오류 수정). 이제 "echo $ 0"명령에서 볼 수 있듯이 명백한 쉘은 bash가됩니다.
이제 문제가 발생합니다.
vim을 사용하여 cpp 파일 (예 : Hello_World)을 편집하고 vim에서 ":! g ++ -g Hello_World.cpp -o hw.out"을 사용하여 파일을 컴파일하면 결과가 표시되지 않고 vim이 종료됩니다. "bash"(터미널이 열려있을 때와 같이)가 표시되지만, 일반적인 "키를 누르지 않고"vim에서 내 작업으로 돌아갑니다. Hello_World.cpp 폴더에는 .Hello_World.cpp.swp 파일이 있지만 hw.out은 없습니다. vim Hello_World.cpp를 다시 누르면이 cpp 파일이 열린 것으로 나타납니다.
그러나 폴더에 cpp 파일을 g ++ 있지만 vim 및 :!를 사용하지 않으면 모든 것이 정상입니다. 사실로, :! 지금은 vim에게는 불법 인 것 같습니다.
원래 tcsh를 사용하면 모든 것이 정상입니다.
이 궁금한 오류를 어떻게 해결할 수 있습니까?
미리 도와 주셔서 감사합니다.
청
BTW : tcsh에는 histdup 설정이 있지만 HISTIGNORE 및 HISTCONTROL의 편의성 때문에 주로 tcsh보다 bash를 선호합니다.
다음은 약간 도움이되었지만 여전히 내 문제에는 만족스럽지 않습니다.
chsh
로그인 쉘을 변경하는 데 사용하십시오 .