En la programación de shell, el programa generado por este código no muestra nada cuando se ejecuta. ¿Por qué? mientras [$1] ¿Qué significa esto?
El significado de este código es que para cada parámetro ingresado, si es un archivo existente, mostrará "mostrar: nombre de archivo". Para un archivo que no existe, mostrará "el nombre de archivo no es un nombre de archivo".
$N es el enésimo parámetro pasado en la línea de comando. 1 dólar es el primero. Elimina el primer argumento actual, afectando a todos los $N.
Consulta man bash o man dash u otros tutoriales de shell para obtener más detalles.
Método de paso de parámetros:
./script arg1 arg2 arg3...
Si se llama así, entonces $1=arg1, $2=arg2, $3= arg3, $4 y superiores son valores vacíos.
Después de ejecutar un turno, $1 = $arg2, $2 = $arg3, $3 y superiores son valores vacíos.