Como fazer o ksh agir como se tivesse sido invocado como um shell de login (AIX)?

2

Quando executo o comando ksh , ele é executado como um Shell sem logon (como esperado). O que estou tentando alcançar é executar ksh como um Shell de Login, como pode ser feito com bash .

Assim como referência, bash pode agir como se tivesse sido invocado como shell de login, especificando a opção -l . Aqui está um extrato da página man 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).

Este é o link para a página man que vejo no servidor AIX:

link

Há uma opção para desabilitar o processamento do arquivo $HOME/.profile (veja a citação abaixo), então tem que haver uma maneira de usar o KornShell como um shell de login.

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?

Notas:

O sistema operacional é AIX e isso é tudo que eu tenho para exec . Infelizmente, não posso substituir o shell pela seguinte frase:

exec -a ksh path/to/ksh
    
por CamelCamelius 16.12.2016 / 21:18

1 resposta

5

Se você quiser alterar seu shell de login, use chsh (shell de alteração). Se você simplesmente quer executar uma instância de ksh que se comporta como um shell de login, então continue lendo.

ksh se comporta como um shell de login se o primeiro caractere do argumento 0 for - ; se você estiver em ksh ( ksh93 ou mksh , não ksh88 nem pdksh), zsh , yash ou bash , então

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

irá substituir o shell atual por uma instância do shell Korn que se comporta como um shell de login. (Se você estiver em bash ou zsh , então exec -l /path/to/ksh será menor e terá o mesmo efeito.)

Se nenhum desses shells estiver disponível, você também pode tentar perl :

perl -e 'exec {"ksh"} "-ksh"'
    
por 16.12.2016 / 21:49

Tags