Alterando o diretório atual usando um script (ksh)

1

Estou lançando meu script a partir do echo $ PWD --- > / x. Eu quero que meu script mude meu diretório atual. Então meu script contém + - isto:

cd /y
exit 0

No entanto, quando meu script termina, estou com o echo $ PWD --- > / x. Eu gostaria de estar em / y. Por que isso não funciona?

Estou lançando meu script simplesmente fazendo: [myScriptName]

    
por user1058398 19.11.2013 / 13:36

1 resposta

3

Isso porque seu shell inicia outro shell para executar seu script. O segundo shell altera seu diretório de trabalho e sai para o primeiro shell, que nunca mudou seu diretório.

Para fazer com que seu shell atual execute o script, chame desta maneira:

. scriptname

(observe o ponto). Claro, você terá que tirar esse exit 0 .

Você também pode escrever uma função de shell. Veja ksh(1) .

    
por 19.11.2013 / 13:48