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