Es una expansión de parámetros que devuelve la longitud del parámetro, o el número de elementos en una matriz, o el número de parámetros posicionales.
Por favor lea el manual de su shell. Lo siguiente es del bash
manual:
${#parameter}
La longitud en caracteres del valor de parameter
se sustituye . Si parameter
es *
o @
, el valor sustituido es el número de parámetros posicionales. Si
parameter
es un nombre de matriz suscrito por *
o @
, el valor reemplazado es el número de elementos en la matriz. Si
parameter
es un nombre de matriz indexado suscrito por un número negativo, ese número se interpreta como relativo a uno mayor que el índice máximo del parámetro, por lo que los índices negativos cuentan desde el final de la matriz, y un índice de -1 hace referencia al último elemento .
Y también, por favor , no tenga la costumbre de trabajar en un shell raíz interactivo. Es peligroso e imprudente en el mejor de los casos. Úselo con sudo
moderación y solo en situaciones que requieran privilegios elevados. Jugar con él bash
es algo que definitivamente puedes hacer como un usuario común no root.
En los últimos años, solo he usado un shell raíz interactivo para agregar manualmente un solo usuario para mí. Es un trabajo de 2 minutos y luego nunca más necesito ver un #
aviso en esa máquina.