coreutils
' realpath
faz o truque:
realpath subdir
e funciona no entanto o diretório (ou arquivo) é especificado:
realpath /blah/blah2/subdir
realpath ../blah2/subdir
Suponha que eu esteja em /path/to/dir
. Dentro desse diretório há outro diretório chamado subdir
.
Existe um comando que eu possa emitir que produza o caminho completo para subdir
, não importa como ele seja identificado? Por exemplo:
$ cmd subdir
/path/to/dir/subdir
$ cmd /path/to/dir/subdir
/path/to/dir/subdir
coreutils
' realpath
faz o truque:
realpath subdir
e funciona no entanto o diretório (ou arquivo) é especificado:
realpath /blah/blah2/subdir
realpath ../blah2/subdir
function somepath () {
[ -z "$1" ] && { pwd; return; }
(cd -P -- "$1" && pwd)
}
Simplesmente cria um subshell (para que o cd
não afete seu shell atual) e imprime o cwd. (Editado em um teste para o caso "no parameter")