Um caminho absoluto começa com /, um relativo não. Você pode transformar um caminho relativo em um caminho absoluto adicionando o caminho ao diretório atual e uma barra antes do caminho relativo.
case $DIRECTORY in
/*) DIRECTORY="$PWD/$DIRECTORY";;
esac
Este é um código portátil: funciona em sh simples, não apenas em bash.
Para um diretório, você pode usar o comando
pwd
ou a variável$PWD
.Exemplo
Use o caminho real :
Um caminho absoluto começa com
/
, um relativo não. Você pode transformar um caminho relativo em um caminho absoluto adicionando o caminho ao diretório atual e uma barra antes do caminho relativo.Este é um código portátil: funciona em sh simples, não apenas em bash.
O caminho resultante pode conter links simbólicos. Isso é quase sempre a coisa certa, mas se você quiser canonizar links simbólicos, consulte Convertendo caminho relativo em caminho absoluto sem link simbólico
Você pode adicionar um teste para um caminho absoluto:
realpath (a resposta aceita) está obsoleto e não está disponível na maioria das instalações. Eu usaria sua substituição:
Ele também lida com ~ e ./ e seguirá links simbólicos.
Se você deseja permitir que o usuário insira um $DIRECTORY que não existe, use: