Un shell nos proporciona una interfaz para el sistema Unix. Mientras usamos un sistema operativo, interactuamos indirectamente con el shell. En los sistemas de distribución Linux, cada vez que usamos una terminal, interactuamos con el shell. El trabajo del shell es interpretar o analizar los comandos de Unix dados por los usuarios. Un shell acepta comandos del usuario y los transforma en una forma comprensible para el núcleo. En otras palabras, actúa como mediador entre el usuario y la unidad kernel del sistema operativo.
Este artículo se centra en el valor predeterminado de la variable de shell.
Establecer el valor predeterminado de la variable de shell
Variables indefinidas: Una variable que no está definida en el momento de la declaración se conoce como variable indefinida.
Ejemplo:
En este programa, estamos imprimiendo dos variables indefinidas; “miVariable1” y “miVariable2”. En la salida, no se imprime nada ya que estas variables no están definidas. En palabras simples, no tienen ningún valor inicial.
// Shell script to illustrate undefined variables #!/bin/sh // Printing undefined variables echo $myVariable1 echo $myVariable2
Producción:
Método 1:
Podemos establecer variables con valores predeterminados o iniciales en scripts de shell durante el comando echo con la ayuda del operador de asignación justo después del nombre de la variable. El valor por defecto con el que queremos asignar la variable, entonces, viene después del operador de asignación. A continuación se muestra la sintaxis para establecer un valor predeterminado.
echo ${myVariable1= value1} echo ${myVariable2= value2}
Aquí, myVariable1 y myVariable2 son nombres de variables y value1 y value2 son valores predeterminados correspondientes
Si «myVariable1» y «myVariable2» no se inicializan, los valores predeterminados, «value1» y «value2» se sustituyen respectivamente. De lo contrario, se sustituyen los valores inicializados de «valor1» y «valor2».
Ejemplo:
En este programa, tenemos excepto «myVariable6», todas las variables están definidas. En palabras simples, «myVariable6» se inicializa mientras que otras variables no están definidas. Por lo tanto, myVariable6 tiene un valor inicializado en el momento de la declaración y otras variables tienen valores predeterminados.
# Shell script to illustrate the working # of default variable value #!/bin/sh # Initializing "myVariable6" myVariable6=25 # Printing variables echo "myVariable1:" ${myVariable1=10} echo "myVariable2:" ${myVariable2=1.123} echo "myVariable3:" ${myVariable3='A'} echo "myVariable4:" ${myVariable4=true} echo "myVariable5:" ${myVariable5="GeeksforGeeks"} echo "myVariable6:" ${myVariable6=100}
Producción:
Método 2:
La técnica de expansión de parámetros de Bash también se utiliza para asignar variables con valores predeterminados. En este método también, las variables se asignan con valores predeterminados durante el comando echo. Pero en este caso, los símbolos de dos puntos y guión (:-) se usan justo después del nombre de la variable. El valor por defecto con el que queremos asignar la variable, entonces, viene después de estos símbolos. También podemos establecer variables con valores predeterminados o iniciales en scripts de shell con la ayuda de la siguiente sintaxis,
echo ${myVariable1:- value1} echo ${myVariable2:- value2}
Aquí, myVariable1 y myVariable2 son nombres de variables, y value1 y value2 son valores predeterminados correspondientes
Si «myVariable1» y «myVariable2» no se inicializan antes, la expansión de «value1» y «value2» se sustituye respectivamente. De lo contrario, se sustituye el valor inicializado de «valor1» y «valor2».
Ejemplo:
En este programa, tenemos excepto «myVariable6», todas las variables están definidas. En palabras simples, «myVariable6» se inicializa mientras que otras variables no están definidas. Por lo tanto, «myVariable6» tiene un valor inicializado en el momento de la declaración y otras variables tienen valores predeterminados.
# Shell script to illustrate the working # of default variable value #!/bin/sh # Initializing "myVariable6" myVariable6=25 # Printing variables echo "myVariable1:" ${myVariable1:-10} echo "myVariable2:" ${myVariable2:-1.123} echo "myVariable3:" ${myVariable3:-'A'} echo "myVariable4:" ${myVariable4:-true} echo "myVariable5:" ${myVariable5:-"GeeksforGeeks"} echo "myVariable6:" ${myVariable6:-100}
Producción: