%EB%A1%9C%20%ED%98%B8%EC%B6%9C%EB%90%9C%20%EA%B2%83%EC%B2%98%EB%9F%BC%20%EC%9E%91%EB%8F%99%ED%95%98%EB%8F%84%EB%A1%9D%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
명령 을 실행하면 ksh
(예상대로) 비 로그인 셸로 실행됩니다. 내가 ksh
달성 하려는 것은 bash
.
참조와 마찬가지로 bash
다음을 지정하여 로그인 셸로 호출된 것처럼 작동할 수 있습니다.-l
. 다음은 bash 매뉴얼 페이지에서 발췌한 것입니다:
BASH(1) BASH(1) NAME bash - GNU Bourne-Again SHell . . . OPTIONS . . . -l Make bash act as if it had been invoked as a login shell (see INVOCATION below).
다음은 AIX 서버에서 볼 수 있는 매뉴얼 페이지에 대한 링크입니다.
http://www.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.cmds3/ksh.htm
파일 처리를 비활성화하는 옵션이 있으므로 $HOME/.profile
(아래 인용문 참조) KornShell을 로그인 셸로 사용할 수 있는 방법이 있어야 합니다.
ksh Command Purpose Invokes the Korn shell. . . . Flags . . . -p Disables the processing of the $HOME/.profile file when you use the shell as a login shell, right?
노트:
운영 체제는 AIX이며이게 내가 가진 전부야exec
. 불행하게도 쉘을 다음 문장으로 바꿀 수는 없습니다.
exec -a ksh path/to/ksh
답변1
로그인 쉘을 변경하려면 chsh
(쉘 변경)을 사용할 수 있습니다. 단순히 ksh
로그인 셸처럼 동작하는 인스턴스를 실행하고 싶다면 계속 읽어보세요.
ksh
인수 0의 첫 번째 문자가 이면 로그인 쉘로 작동합니다 -
. 당신이 ksh
( ksh93
또는 pdksh가 mksh
아닌 ksh88
), zsh
또는 yash
에 있다면 bash
, 다음
exec -a -ksh /path/to/ksh [optional arguments]
현재 쉘을 로그인 쉘로 작동하는 Korn 쉘의 인스턴스로 대체합니다. ( bash
또는 에 있는 경우 zsh
는 exec -l /path/to/ksh
더 짧고 동일한 효과를 가집니다.)
해당 쉘 중 어느 것도 사용할 수 없는 경우 다음을 시도해 볼 수도 있습니다 perl
.
perl -e 'exec {"ksh"} "-ksh"'