# Creación de variables

### Creación de variables en bash

Para crear una variable, le asignamos un nombre y un valor. Luego accedemos al contenido de esta variable con el signo `$`.

```
#!/bin/bash

nombre="Taylor"

echo "Hola, este es un script de prueba"
echo "Mi nombre es $nombre"
```

#### **Resultado**

```
Hola, este es un script de prueba
Mi nombre es Taylor
```

Es importante aclarar que esta variable es del tipo _local_, es decir, que solo se puede utilizar en el programa que la definió. Para usar una variable de manera _global_ por cualquier script, primero debo exportar dicha variable con `export`.

```
export nombre 
```

#### ¿Como ver el contenido de las variables?

Con el comando echo, se puede visualizar el contenido de las mismas.&#x20;

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F8dfD7qlHNs1Fcw2ApYvQ%2FWhatsApp%20Image%202024-02-26%20at%2016.15.33.jpeg?alt=media&#x26;token=a99b9bd8-88ee-4c78-90fd-9852385b682f" alt=""><figcaption><p>Comando echo</p></figcaption></figure>

### Variables de entorno

Las variables de entorno tienen un alcance limitado. Por defecto, no son persistentes. Solo están disponibles para el usuario mientras tenga en uso la consola. Al cerrarla, la variable desaparece.

#### ¿Qué son las variables de entorno?

Son valores dinámicos que afectan los programas o procesos que se ejecutan en el equipo. Existen en todos los sistemas operativos y su tipo puede variar.

#### ¿Cómo funcionan en Linux?

Son marcadores de posición para la información almacenada dentro del sistema, que pasa datos a los programas en Shells o sub-Shells.&#x20;

#### ¿Cómo crear una variable de entorno?

1. Editar el archivo `.bashhrc`.

```
~$ vim .bashrc
```

2. Dentro del archivo, definir una variable denominada `CURSO`.

```
#esta es una variable de entorno
export CURSO=Linux
```

3. Con el comando `echo` en la terminal, podemos ver el contenido de la misma.

```
~$ echo $CURSO
```

### Utilizando variables de entorno

1. Utilizar la variable $USER dentro del CASE
2. El nombre del usuario es "kali"

```
case $opc in
    1) clear
        echo Hola $USER !!!
        sleep 3
        ;;
esac
```

#### Resultado

```
Hola kali !!!
```

#### Variables que desaparecen&#x20;

Las variables de entorno no son persistentes. Al cerrar una consola, estas desaparecen. Pero también pueden dejar de funcionar si la consola no ha sido cerrada.

#### ¿Por qué una variable desaparece aun cuando la consola no fue cerrada?

Al ejecutar un script con `./script.sh` o con `bash script.sh`, sucede que el script es ejecutado en un subproceso de Shell.&#x20;

#### ¿Qué es un subproceso?

Es un proceso secundario que ejecuta la terminal. La variable se crea allí, pero muere al terminar el proceso.

#### Source

Este comando sirve para ejecutar una variable en la Shell actual y no en el subproceso de la misma.

```
~ source script.sh
```

### Archivo .bashrc

Este archivo carga la configuración para un usuario, cada vez que ejecuta bash. Este archivo es único para cada usuario y cada usuario puede modificar el suyo sin problema.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2Fswc6BoFBMtzscISUOZOK%2F02_archivo_bashrc.jpeg?alt=media&#x26;token=a50a2fba-2860-445f-8182-ede8683d0ae5" alt=""><figcaption><p>Archivo .bashrc</p></figcaption></figure>
