Qual é o significado de “$ {name ## * /}” no Shell [duplicado]

0

Eu tenho um código como

while read name; do uuencode "$name" "${name##*/}"; done

mas não entendo qual é o significado de ##*/ em "${name##*/}"

O Google não apresenta bons resultados. Alguém pode por favor explicar.

    
por Aravind 08.02.2015 / 05:25

1 resposta

2

Isso é usado para obter o nome do arquivo do caminho completo. Isso é semelhante ao uso do comando basename .

Exemplo:

filename="/tmp/test.txt"
echo "$filename" "${filename##*/}"
/tmp/test.txt test.txt
basename "$filename"
test.txt''
    
por 08.02.2015 / 05:56