GNU/Linux >> Tutoriales Linux >  >> Linux

Diferencia entre la definición de variables Bash con y sin exportación

He añadido este "exportar HISTCONTROL=ignoredups" línea en ~/.bashrc archivo para evitar entradas duplicadas en el historial de Bash en mi escritorio Linux. ¿Te diste cuenta de que puse el prefijo HISTCONTROL variable con "export" ? ¿Sabes qué es "export"? opción para? Si se pregunta cuál es la diferencia entre definir variables bash con y sin opción de exportación, ¡sigue leyendo!

Diferencia entre la definición de variables Bash con y sin exportación

Definimos una variable con export para que esté disponible para todos los subprocesos (o procesos secundarios). Significado:si define una variable con export como abajo,

export variable_name=value

La variable está disponible para cualquier subproceso se ejecuta desde ese proceso de shell.

Si define una variable sin export como abajo,

variable_name=value

La variable está limitada al shell y no está disponible para ningún otro subproceso. Puede usarlo para variables temporales y/o de bucle.

Permíteme mostrarte un ejemplo, para que puedas entenderlo mejor.

Permítanme definir una variable llamada "ostechnix" sin "export" como a continuación:

$ ostechnix="Welcome to ostechnix.com blog!"

Ahora muestra el valor usando el comando "echo":

$ echo $ostechnix

Mostrará el valor de la variable ostechnix:

Welcome to ostechnix.com blog!

Ahora, inicie una nueva sesión de shell Bash ejecutando el siguiente comando:

$ bash

Luego, intente mostrar el valor de la variable ostechnix usando echo comando:

$ echo $ostechnix

¿Ver? ¡No devuelve nada! Solo ve una salida en blanco. Por lo tanto, se demuestra que cuando definimos una variable sin export , no estará disponible para los procesos secundarios.

Definamos nuevamente la misma variable con export opción:

$ export ostechnix="Welcome to ostechnix.com blog!"

Mostrar el valor de la variable:

$ echo $ostechnix

Salida de muestra:

Welcome to ostechnix.com blog!

Iniciar una nueva sesión de shell:

$ bash

Vuelva a intentar mostrar el valor de la variable:

$ echo $ostechnix

Ahora devolverá el valor.

Por lo tanto, la exportación hace que la variable esté disponible para cualquier otro proceso secundario en ese entorno de shell.


Linux
  1. Definición de una variable con o sin exportación

  2. Alias ​​con variable en bash

  3. ¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

  4. Diferencia entre ${} y $() en Bash

  5. Exportar una variable desde bash y usarla en Python

Variable de exportación de bash

Bash Scripting - Variables explicadas con ejemplos

¿Diferencia entre Snat y Masquerade?

Tutorial de variables Bash:6 ejemplos prácticos de variables locales y globales de Bash

Diferencia entre comandos en bash script y comandos en terminal

¿Cuál es la diferencia entre $(CC) y $CC?