kshがログインシェル(AIX)として呼び出されたように動作するようにするにはどうすればよいですか?

kshがログインシェル(AIX)として呼び出されたように動作するようにするにはどうすればよいですか?

コマンドを実行すると、ksh期待どおりに非ログインシェルとして実行されます。私が達成したいことはkshbash

ちなみに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の最初の文字が;の場合、ログインシェルとして機能します。kshksh93またはmksh、またはksh88pdkshでもない)zshyashまたはbashにある場合

exec -a -ksh /path/to/ksh [optional arguments]

現在のシェルは、ログインシェルとして機能するKornシェルのインスタンスに置き換えられます。 (bashまたはにいる場合は短く、zsh同じexec -l /path/to/ksh効果があります。)

これらのシェルのどれも使用できない場合は、次のことを試すこともできますperl

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

おすすめ記事