“Conocimiento Sistemas>unix

¿Qué es el parámetro de posición en UNIX?

2011/11/28
En las conchas Unix (como Bash, ZSH, etc.), los parámetros posicionales son variables especiales que almacenan los argumentos pasados ​​a un script o función. Están numerados, a partir de 1.

* `$ 1`:posee el primer argumento.

* `$ 2`:posee el segundo argumento.

* `$ 3`:posee el tercer argumento, y así sucesivamente.

`$ 0` es un caso especial:contiene el nombre del script o función en sí.

Ejemplo:

Digamos que tiene un script llamado `my_script.sh` con el siguiente contenido:

`` `Bash

#!/bin/bash

echo "El nombre del script es:$ 0"

Echo "El primer argumento es:$ 1"

Echo "El segundo argumento es:$ 2"

`` `` ``

Si lo ejecutas así:

`` `Bash

./my_script.sh hola mundo

`` `` ``

La salida sería:

`` `` ``

El nombre del script es:./my_script.sh

El primer argumento es:hola

El segundo argumento es:mundo

`` `` ``

Consideraciones importantes:

* Número de argumentos: Puede acceder a los argumentos hasta el número proporcionado. Intentar acceder a `$ 4` cuando solo se dieron tres argumentos dará como resultado una cadena vacía o un error, dependiendo del shell y cómo se escriba el script.

* Citando: La cita adecuada es crucial cuando se trata de argumentos que contienen espacios o caracteres especiales. Siempre cite sus parámetros posicionales al usarlos en comandos para evitar problemas de división de palabras y globos. Por ejemplo:`Echo" $ 1 "` es más seguro que `Echo $ 1`.

* `$@` y `$*`:Estas variables especiales proporcionan formas alternativas de acceder a todos los parámetros posicionales. `$@` se expande a cada argumento individualmente, citado, mientras que `$*` se expande a una sola cadena que contiene todos los argumentos. `$@` generalmente se prefiere por su manejo más seguro de los argumentos con espacios.

* `Shift`:El comando` Shift` elimina el primer parámetro posicional y cambia los restantes a la izquierda. Esto es útil para procesar argumentos secuencialmente.

En esencia, los parámetros posicionales son un mecanismo fundamental para transmitir datos a los scripts y funciones de unix shell, permitiendo flexibilidad y reutilización.

unix
Cómo cerrar en SCO Unix 5.0
¿Cuál es la función del kernel de Unix?
Cómo calcular el espacio en disco libre disponible en un servidor AIX Unix
Cómo crear un archivo en Unix
¿Cómo se comparten los archivos entre usuarios en Unix y Windows?
¿Número de caracteres en un nombre de archivo UNIX?
Cómo enumerar todos los grupos que pueden escribir en un directorio Unix
¿Qué traversal calcula el tamaño total de cada directorio en el sistema UNIX?
Conocimiento de la computadora © http://www.ordenador.online