¿Qué $#
significa en shell?
Tengo un código como
if [ $# -eq 0 ]
then
Quiero entender qué $#
significa, pero la búsqueda de Google es muy mala para buscar este tipo de cosas.
shell
shell-script
BufBills
fuente
fuente
Respuestas:
Siempre puede consultar la página de manual de su shell.
man bash
dice:Por lo tanto, un script de shell puede verificar cuántos parámetros se dan con un código como este:
fuente
man
casi cualquier cosa, incluso aman
sí mismo. Prueba tambiénapropos
algo de tiempo.info
para la página de manual o información adicional (muy detallada y compartimentada) si los paquetes tienen algoActualmente,
Asi juntos
Por lo tanto, puede usar
$#
para verificar la cantidad de argumentos / parámetros pasados como lo hizo y manejar cualquier situación inesperada.Del mismo modo, tenemos
etc.
fuente
Es decir
El número de parámetros con los que se ha llamado al script
el número de parámetros que se han establecido en el script por
set -- foo bar
(cuando se usa dentro de una función) el número de parámetros con los que se ha llamado a una función (
set
también funcionaría allí).Esto se explica en la página de manual de bash en el bloque "Parámetros especiales".
fuente