Diferença entre pushd / popd e sub-shell + cd

0

Estou tentando entender se há algum benefício em usar:

pushd my_dir
make all  # ... or something else
popd

vs

(
    cd my_dir
    make all  # ... or something else
)

ou é meramente uma coisa de preferência?

Eu acho que a última notação pode ter problemas como você pode precisar set -e (e outros sinalizadores novamente), mas ainda executa o código de saída de seu último comando e parece melhor em termos de sintaxe.

    
por Ahmet Alp Balkan 25.05.2018 / 19:14

1 resposta

1

Nem sempre é possível ou útil executar partes de um script em um subshell.

Eu também uso pushd / popd em scripts (não importa, porque eu geralmente tenho bashisms em meus scripts de qualquer forma), mas no meu entendimento isso é principalmente um recurso de conveniência para um shell interativo, e usando subcamadas não deve ser esperado para ser divertido.

    
por 25.05.2018 / 19:34