Descripción general :
Los argumentos de la línea de comandos (también conocidos como parámetros posicionales) son los argumentos especificados en el símbolo del sistema con un comando o secuencia de comandos para ejecutar. Las ubicaciones en el símbolo del sistema de los argumentos, así como la ubicación del comando, o el propio script, se almacenan en las variables correspondientes. Estas variables son variables de shell especiales. La imagen de abajo te ayudará a entenderlos.
Vamos a crear un script de shell con el nombre «command_line_agruments.sh», mostrará los argumentos de la línea de comando que se proporcionaron y contará el número de agrumentos, el valor del primer argumento y el ID de proceso (PID) del script.
[email protected]:~$ cat command_line_agruments.sh
Asigne permisos ejecutables al script
[email protected]:~$ chmod +x command_line_agruments.sh
Ahora ejecute los scripts con argumentos de línea de comando
[email protected]:~$ ./command_line_agruments.sh Linux AIX HPUX VMware There are 4 arguments specified at the command line. The arguments supplied are: Linux AIX HPUX VMware The first argument is: Linux The PID of the script is: 16316
Cambio de argumentos de la línea de comandos
El comando shift se usa para mover los argumentos de la línea de comando una posición a la izquierda. Durante este movimiento, se pierde el primer argumento. La secuencia de comandos «command_line_agruments.sh» a continuación utiliza el comando shift:
[email protected]:~$ cat command_line_agruments.sh
Ahora ejecute el script de nuevo.
[email protected]:~$ ./command_line_agruments.sh Linux AIX HPUX VMware There are 4 arguments specified at the command line The arguments supplied are: Linux AIX HPUX VMware The first argument is: Linux The Process ID of the script is: 16369 The new first argument after the first shift is: AIX The new first argument after the second shift is: HPUX [email protected]:~$
Se pueden realizar múltiples turnos en un solo intento proporcionando el número deseado de turnos al comando de turno como argumento.