Se os processos não podem modificar o ambiente dos seus pais, o que o MC está fazendo?

2

Até onde eu sei, um processo não pode modificar o ambiente de seus pais. No entanto, quando eu corro mc (Midnight Commander do GNU, um gerenciador de arquivos baseado em curses) e depois o fecho, eu acabo com outro $PWD :

[localhost ~]$ echo $PWD
/home/pedro
[localhost ~]$ mc

removed '/tmp/mc-pedro/mc.pwd.5616'
[localhost pedro]$ echo $PWD
/nfs/home/pedro

Eu sei que ele realmente não "mudou", porque /home é um link simbólico para /nfs/home , mas de qualquer forma, $PWD era uma string, e agora é uma string diferente.

O que está acontecendo aqui?

    
por fonini 04.06.2015 / 04:51

1 resposta

0

Como o comando mc é aliado para . /some/script , o script é executado no ambiente atual ( . é equivalente a source em alguns shells).

Um script que é executado dessa forma pode alterar o ambiente do shell de chamada, já que ele está sendo executado no mesmo ambiente.

    
por 24.10.2017 / 15:43