¿Qué significan $$, $# y $ en los scripts de shell?
Te doy una explicación completa, lo entenderás después de probarlo en el entorno Linux:
$0 El nombre de ejecución de este programa
$n El enésimo valor del parámetro , n=1..9
$* Todos los parámetros de este programa, esta opción puede tener más de 9 parámetros.
$# El número de parámetros de este programa
$$ El PID de este programa (el número de identificación del proceso actual del script en ejecución)
$! Ejecutar el fondo anterior El PID del comando (el número de ID del último proceso que se ejecuta en segundo plano)
$? El valor de retorno de la ejecución del comando anterior (muestra el estado de salida del último comando. 0 significa que no hay error, cualquier otro valor indica un error)
$: muestra las opciones actuales utilizadas por el shell, que tiene la misma función que el comando set
$@ es similar a $*, pero se puede utilizar como una matriz