ksh가 로그인 쉘(AIX)로 호출된 것처럼 작동하도록 하려면 어떻게 해야 합니까?

ksh가 로그인 쉘(AIX)로 호출된 것처럼 작동하도록 하려면 어떻게 해야 합니까?

명령 을 실행하면 ksh예상대로 비로그인 셸로 실행됩니다. 내가 달성 하고 싶은 것은 ksh.bash

참고로 bashoptions 를 지정하여 로그인 쉘로 호출할 수 있습니다 -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또는 mksh, 또는 ksh88pdksh도 아님) 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"'

관련 정보