El método de memorización es:
# es eliminar la izquierda (# en el teclado # a la izquierda de $)
% es eliminar la derecha (% en el teclado a la derecha de $)
un solo símbolo es la coincidencia más pequeña; dos símbolos son la coincidencia más grande
Supongamos que definimos una variable como: file = / dir1 / dir2 / dir3 / my.file.txt
Puede sustituir $ {} para obtener diferentes valores:
$ {file # * /}: elimine el primer / y la cadena a su izquierda: dir1 / dir2 / dir3 / my.file.txt
$ {file ## * /}: elimine el último / y la cadena a la izquierda: my.file.txt
$ {archivo% / *}: elimina el último / y la cadena a la derecha: / dir1 / dir2 / dir3
$ {archivo %% / *}: elimine el primer / y la cadena a la derecha: (valor vacío)
$ {file: 0: 5}: extrae los 5 bytes izquierdos: / dir1
$ {file: 5: 5}: extrae 5 bytes consecutivos a la derecha del quinto byte: / dir2
$ {file / dir / path}: Reemplace el primer directorio con la ruta: /path1/dir2/dir3/my.file.txt
$ {archivo // dir / ruta}: Reemplace todos los directorios con la ruta: /path1/path2/path3/my.file.txt
$ {# var} puede calcular la longitud del valor de la variable:
$ {# file} obtiene 27 porque /dir1/dir2/dir3/my.file.txt tiene 27 bytes