O shell armazena o caminho para o diretório de trabalho atual na variável PWD
. A menos que configurado de outra forma, esse é o caminho especificado para o shell, mesmo se o diretório tiver sido movido ou se links simbólicos estiverem envolvidos. Então você pode usar isso para mudar para o parente aparente do diretório, mesmo que a localização real do diretório seja diferente. Por exemplo. cd /foo/bar
conjuntos PWD
para /foo/bar
mesmo se bar
for um link simbólico ( cd -P
faz a shell resolver o link simbólico) e PWD
permanece definido mesmo se o diretório for movido ou excluído. / p>
Assim, você pode mudar para o aparente diretório pai pegando PWD
e retirando a parte após a última barra:
cd ${PWD%/*}
Se houver espaços em branco ou curingas no caminho para o diretório, você precisará de citações:
cd "${PWD%/*}"
No zsh, isso pode ser abreviado para
cd $PWD:h
Você também pode usar o mais longo, mas talvez mais memorável
cd "$(dirname "$PWD")"
(aspas duplas não são necessárias se nenhum espaço em branco ou caracteres curinga estiverem no nome do diretório).