Cómo usar variables en secuencias de comandos de Shell

En cada programación idioma Variables juega un papel importante, en las secuencias de comandos de shell de Linux estamos usando dos tipos de variables: Variables definidas por el sistema & Variables definidas por el usuario.

Una variable en un script de shell es un medio de referenciando a numérico o valor de carácter. Y a diferencia de los lenguajes de programación formales, un script de shell no requiere que declarar un tipo para tus variables

En este artículo discutiremos las variables, sus tipos y cómo configurar y usar variables en scripts de shell.

Variables definidas por el sistema:

Estas son las variables que son creadas y mantenidas por Sistema operativo (Linux) en sí mismo. Generalmente estas variables se definen en LETRAS MAYÚSCULAS. Podemos ver estas variables usando el comando “$ conjunto“. Algunas de las variables definidas por el sistema se dan a continuación:

Linux-Shell-Variables-Significados

Para imprimir el valor de las variables anteriores, utilice comando de eco Como se muestra abajo :

# echo $CASA
# echo $NOMBRE DE USUARIO

Podemos acceder a estas variables de entorno desde sus scripts utilizando el nombre de la variable de entorno precedido por un signo de dólar. Esto se demuestra en el siguiente script:

$ gato myscript

#!/bin/bash
# mostrar información del usuario del sistema.
echo «Información de usuario para ID de usuario: $USUARIO»
UID de eco: $ UID
eco INICIO: $INICIO

Note que el Variables de entorno en los comandos de eco se reemplazan por sus valores actuales cuando se ejecuta el script. Observe también que pudimos colocar el $USUARIO variable del sistema dentro de las comillas dobles en la primera cadena, y el script de shell todavía pudo averiguar lo que queríamos decir. Hay un retirarse a usar este método, sin embargo. Mira lo que sucede en este ejemplo:

$ echo “El costo del artículo es de $15”
El costo del artículo es de 5

Eso obviamente no es lo que se pretendía. Cada vez que el script ve un signo de dólar entre comillas, asume que está haciendo referencia a una variable. En este ejemplo, el script intentó mostrar el variable $1 (que no estaba definido), y luego el número 5. Para mostrar un signo de dólar real, debe debe preceder con un carácter de barra invertida:

$ echo “El costo del artículo es $15”
El costo del artículo es de $15

Eso es mejor. La barra invertida permitió que el script de shell interpretara el signo de dólar como un signo de dólar real, y no como una variable.

Variables definidas por el usuario:

Estas variables están definidas por usuarios. Un script de shell nos permite configurar y usar nuestro variables propias dentro del guión. Establecer variables le permite almacenar datos temporalmente y utilícelo en todo el script, haciendo que el shell script se asemeje más a un programa informático real.

Variables de usuario puede ser cualquier cadena de texto de hasta 20 letras, dígitos, o un carácter de subrayado. Las variables de usuario distinguen entre mayúsculas y minúsculas, por lo que la variable Var1 es diferente de la variable var1. Esta pequeña regla a menudo mete en problemas a los programadores de scripts novatos.

Los valores se asignan a las variables de usuario mediante un signo igual. No pueden aparecer espacios entre la variable, el signo igual y el valor (otro punto problemático para los novatos). Estos son algunos ejemplos de asignación de valores a variables de usuario:

var1=10
var2=-57
var3=prueba
var4=“aún más pruebas”

El guión de la cáscara determina automáticamente el tipo de datos utilizado para el valor de la variable. Las variables definidas dentro del script de shell mantienen sus valores a lo largo de la vida del script de shell, pero se eliminan cuando finaliza el script de shell.

Al igual que las variables del sistema, se puede hacer referencia a las variables de usuario mediante el signo de dólar:

$ gato prueba3
#!/bin/bash
# variables de prueba
dias=10
invitado = «Katie»
echo “$invitado se registró hace $días días atrás”
dias=5
invitado = «Jessica»
echo “$invitado se registró hace $días días atrás”
PS

Ejecutar el script produce el siguiente resultado:
$ chmod u+x test3
$ ./prueba3
Katie se registró hace 10 días
Jessica se registró hace 5 días
PS

Cada vez que la variable es referenciado, produce el valor actualmente asignado a él. Es importante recordar que cuando se hace referencia a un valor de variable se utiliza el signo de dólar, pero al hacer referencia a la variable para asignarle un valor, no utiliza el signo de dólar. He aquí un ejemplo de lo que quiero decir:

$ prueba de gato4
#!/bin/bash
# asignar un valor de variable a otra variable
valor1=10
valor2=$valor1
echo El valor resultante es $valor2
PS

Cuando usas el valor de El valor1 variable en la declaración de asignación, aún debe usar el signo de dólar. Este código produce el siguiente resultado:

$ chmod u+x test4
$ ./prueba4
El valor resultante es 10
PS

Si olvida el signo de dólar y hace que la línea de asignación value2 se vea así:

valor2=valor1
obtienes el siguiente resultado:
$ ./prueba4
El valor resultante es value1
PS

Sin el signo de dólar el shell interpreta el nombre de la variable como cadena de texto normal, que probablemente no sea lo que querías.

Uso del símbolo de acento grave (`) en variables de shell:

El el acento grave permite le permite asignar la salida de un comando de shell a una variable. Si bien esto no parece mucho, es un componente importante en texto programación. Debe rodear todo el comando de la línea de comando con caracteres de acento grave:

prueba=`fecha`

El shell ejecuta el comando dentro del acentos graves y asigna la salida a la variable testing. Aquí hay un ejemplo de cómo crear una variable usando la salida de un comando de shell normal:

$ prueba de gato5
#!/bin/bash
# usando el carácter de acento grave
prueba=`fecha`
echo “La fecha y la hora son: ” $prueba
PS

La variable testing recibe el resultado del comando date y se usa en la instrucción echo para mostrarlo. Ejecutar el script de shell produce el siguiente resultado:

$ chmod u+x test5
$ ./prueba5
La fecha y la hora son: lun 31 de enero 20:23:25 EDT 2011

Nota : En bash también puedes usar la alternativa PS sintaxis en lugar de acento grave (`), que tiene la ventaja de ser reentrante.

Ejemplo: $ echo ” La fecha y hora de hoy es :” $(fecha)
La fecha y hora de hoy es: dom 27 de julio 16:26:56 IST 2014

Leer también : 9 ejemplos de comandos ‘diff’ en Linux

Leer también : 16 ejemplos de comandos de eco en Linux

Entradas relacionadas

Deja una respuesta

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