Shell Script

Shell Shift Parameters: Cambios y parámetros de cambio de Shell

1. $0 – Nombre del script

El parámetro $0 se refiere al nombre del script actual que se está ejecutando en la shell. Es útil para identificar el nombre del archivo de script en caso de que necesitemos hacer referencia a él dentro del propio script. Por ejemplo, si tenemos un script llamado «script.sh», al utilizar el parámetro $0 obtendremos el valor «script.sh».

2. $1, $2, $3, … – Argumentos posicionales

Los parámetros $1, $2, $3, etc., se utilizan para acceder a los argumentos posicionales pasados al script en la línea de comandos. Por ejemplo, si ejecutamos el script de la siguiente manera: «script.sh argumento1 argumento2», el parámetro $1 contendrá el valor «argumento1» y el parámetro $2 contendrá el valor «argumento2».

3. $# – Número de argumentos

El parámetro $# se utiliza para obtener el número total de argumentos pasados al script en la línea de comandos. Por ejemplo, si ejecutamos el script de la siguiente manera: «script.sh argumento1 argumento2», el parámetro $# contendrá el valor 2, ya que se pasaron dos argumentos.

Recomendado:  Shell Function: Descubre qué es y cómo se utiliza en programación

4. $@ – Todos los argumentos

El parámetro $@ se utiliza para acceder a todos los argumentos pasados al script en la línea de comandos como una lista separada por espacios. Por ejemplo, si ejecutamos el script de la siguiente manera: «script.sh argumento1 argumento2», el parámetro $@ contendrá los valores «argumento1» y «argumento2».

5. $* – Todos los argumentos como una sola cadena

El parámetro $* se utiliza para acceder a todos los argumentos pasados al script en la línea de comandos como una sola cadena. Los argumentos están separados por el primer carácter del valor de la variable IFS (Internal Field Separator). Por defecto, el valor de IFS es un espacio en blanco. Por ejemplo, si ejecutamos el script de la siguiente manera: «script.sh argumento1 argumento2», el parámetro $* contendrá el valor «argumento1 argumento2».

6. $? – Código de salida del último comando

El parámetro $? se utiliza para obtener el código de salida del último comando ejecutado en la shell. El código de salida es un número que indica si el comando se ejecutó correctamente o si ocurrió algún error. Por lo general, un código de salida de 0 indica que el comando se ejecutó correctamente, mientras que un código de salida diferente de 0 indica que ocurrió algún error.

7. $$ – ID de proceso del script actual

El parámetro $$ se utiliza para obtener el ID de proceso del script actual que se está ejecutando en la shell. El ID de proceso es un número único asignado a cada proceso en el sistema operativo. Es útil para identificar el proceso en caso de que necesitemos realizar alguna operación específica con él.

Recomendado:  Troubleshooting a Script: Pasos para solucionar problemas en un script

8. $! – ID de proceso del último comando en segundo plano

El parámetro $! se utiliza para obtener el ID de proceso del último comando que se ejecutó en segundo plano. Un comando en segundo plano es aquel que se ejecuta en segundo plano sin bloquear la shell. Es útil para realizar un seguimiento del proceso en caso de que necesitemos detenerlo o realizar alguna otra operación con él.

9. $- – Opciones de la shell actual

El parámetro $- se utiliza para obtener las opciones de la shell actual. Las opciones de la shell son configuraciones que controlan el comportamiento de la shell. Por ejemplo, las opciones pueden incluir la activación o desactivación de la expansión de comandos, la activación o desactivación de la expansión de variables, etc.

10. $PWD – Directorio de trabajo actual

El parámetro $PWD se utiliza para obtener el directorio de trabajo actual de la shell. El directorio de trabajo actual es el directorio en el que nos encontramos actualmente en la estructura de directorios del sistema de archivos. Es útil para realizar operaciones en el directorio actual o para hacer referencia a él en el script.

Autor

osceda@hotmail.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *