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"'