Cygwin / etc / passwd가 / bin / bash를 준수하지 않습니다


0

Cygwin이 / etc / passwd 파일을 사용하도록 설정하고 sh 대신 기본 쉘 bash를 만들려면 어떻게해야합니까?

권한에 문제가 있었고 Windows XP에서 사용자 ID에 대한 권한을 업데이트 한 후 / etc / passwd 파일을 다시 생성해야했기 때문에 Windows XP에서 어떻게 든 제어한다고 가정합니다.


쉘을 어떻게 호출합니까? 또한 / etc / passwd 설정을 무시할 SHELL 변수가 설정되어 있지 않은지 확인하십시오.
ak2

SHELL=/bin/bash그것은을 통해 이맥스에 의해 호출 meta-x shell에 의해 시작 X 윈도우 시스템 내에서 실행startx
WilliamKF

권리. / bin / bash 대신 / bin / sh를 실행하고 있다는 것을 어떻게 알 수 있습니까?
ak2

프롬프트가 sh-4.1$' and if I execute bash 이기 때문에 새로운 프롬프트가 나타납니다[xp-pro-sp3 ~] ???
WilliamKF

충분합니다. 당신은 당신의 확신 /etc/passwd항목이 맞습니까? mkpasswd -c현재 사용자에게 적합한 항목을 인쇄하는 데 사용할 수 있습니다 . 시도해야 할 또 다른 방법은 mintty또는 같은 Cygwin 터미널 중 하나를 호출하는 것입니다 rxvt. 다르게 말하지 않는 한 기본 쉘을 호출합니다. 거기에 bash가 있으면 이것은 emacs 문제가됩니다.
ak2

답변:


1

이 코드를 ~/.emacs시작 파일 에 넣고 Emacs를 다시 시작하십시오.

(setq shell-file-name "bash"
      explicit-shell-file-name "bash")

Emacs가 호출 중인지 또는을 호출 하는지를 확실히 확인 /bin/sh하기 /bin/sh.hold위해 temporarilly 이름 바꾸기 를 수행 할 수도 있습니다 . 특정 경우 (Bash 매뉴얼 페이지 참조) Bash는 호출 방식에 따라 (예 : "sh" 인 경우 ) sh로 작동합니다./bin/sh/bin/bashargv[0]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.