The idea is, that, when I am currently in the folder
home/Documents, the above code printshome- but is still in the directoryhome/Documents
Você não precisa de echo porque pwd imprime o que você deseja. Use isto:
(cd .. && pwd)
Existem duas coisas inteligentes aqui:
-
(whatever)correwhateverem uma subcamada. Secdestiver dentro desses parênteses, ele alterará o diretório de trabalho atual da subshell, não o shell principal (atual). -
a && brunsbiffasucceeded (retornou status de saída0). Em geral, se você quiser que seu script usandocdseja robusto, é bom verificar sempre secdfoi bem-sucedido. Isso evita a execução de outro (s) comando (s) em um diretório errado.
Observe que quando há links simbólicos envolvidos, você pode não obter o caminho esperado. Veja esta resposta do wiki da comunidade para detalhes.