ksh가 로그인 쉘(AIX)로 호출된 것처럼 작동하도록 만드는 방법은 무엇입니까?

ksh가 로그인 쉘(AIX)로 호출된 것처럼 작동하도록 만드는 방법은 무엇입니까?

명령 을 실행하면 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또는 에 있는 경우 zshexec -l /path/to/ksh더 짧고 동일한 효과를 가집니다.)

해당 쉘 중 어느 것도 사용할 수 없는 경우 다음을 시도해 볼 수도 있습니다 perl.

perl -e 'exec {"ksh"} "-ksh"'

관련 정보