O comando readlink
retornaria now
se esse fosse realmente o conteúdo do seu link.
Se você usar ls -l dev_12
, verá que o link é para /home/user/Desktop/projects/now
.
No meu diretório atual /home/user/Desktop/projects
, eu tenho uma pasta ( dev_12
) que tem um link simbólico de outra pasta ( now
) no mesmo diretório.
Estou executando o seguinte comando para saber para qual pasta dev_12
está apontando:
$ readlink dev_12
/home/user/Desktop/projects/now
No entanto, quero apenas obter now
. Qual é a melhor maneira de fazer isso?
basename -- "$( readlink dev_12 )"
Isso chama o utilitário basename
com a saída do utilitário readlink
para o link simbólico fornecido. O utilitário basename
retornará uma string que é o componente de nome de arquivo do nome do caminho do diretório now
, ou seja, o bit final após o último /
no nome do caminho ou, em outras palavras, apenas a string now
out da string /home/user/Desktop/projects/now
.
Tags bash shell shell-script