Comandos LinuxExplicados en español
/
Ficha79 / 104
Categoría
Sistema
Ejemplos
5
Ver también
alias · which · echo · crontab

export

export (exportar)

Crea variables de entorno que heredan los programas que lanzas.

Convierte una variable en variable de entorno: así los programas y scripts que lances desde esa terminal pueden leerla. Lo usas para configurar cosas como el PATH, el editor por defecto o claves que un programa espera encontrar. Es un comando interno de bash. Lo exportado dura lo que dura la terminal; para conservarlo, agrégalo a ~/.bashrc.

Sintaxisexport [NOMBRE[=VALOR]]...
Precaución

Si escribes export PATH=/mi/carpeta sin incluir $PATH, reemplazas toda la lista y dejan de funcionar comandos como ls o sudo en esa terminal. Escribe siempre export PATH="$PATH:/mi/carpeta". Si ya pasó, cierra la terminal y abre otra.

§ 1

Despiece

5 ejemplos
Crear una variable para tus programas

Crear una variable para tus programas

2 piezas
Lámina01 / 05
Comandoexport EDITOR=nano
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1exportComandoHace que la variable pase a los programas que lances.
2EDITOR=nanoValorEl nombre de la variable, un igual sin espacios y su valor.
Resultado

Los programas que abren un editor, como crontab -e o git commit, usarán nano. Solo vale en esta terminal.

Agregar una carpeta al PATH

2 piezas
Lámina02 / 05
Comandoexport PATH="$PATH:$HOME/bin"
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1exportComandoExporta la variable.
2PATH="$PATH:$HOME/bin"ValorEl PATH que ya tenías ($PATH), dos puntos y la carpeta nueva al final.
Resultado

Los programas que pongas en ~/bin se pueden ejecutar escribiendo solo su nombre. El $PATH del inicio es lo importante: sin él borrarías la lista completa.

Ver el valor de una variable

2 piezas
Lámina03 / 05
Comandoecho $PATH
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1echoComandoImprime texto.
2$PATHValorEl signo $ se reemplaza por el valor de la variable.
Resultado

Imprime las carpetas donde la terminal busca comandos, separadas por dos puntos, por ejemplo /usr/local/bin:/usr/bin:/bin.

Pasar una variable solo a un comando

2 piezas
Lámina04 / 05
ComandoPUERTO=8080 ./servidor.sh
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1PUERTO=8080ValorLa variable y su valor, pegados antes del comando.
2./servidor.shArgumentoEl programa que la recibe.
Resultado

servidor.sh recibe PUERTO=8080, pero la variable no queda en tu terminal. Es útil para probar sin dejar nada configurado.

Guardarla para siempre

4 piezas
Lámina05 / 05
Comandoecho 'export EDITOR=nano' >> ~/.bashrc
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1echoComandoImprime el texto que sigue.
2'export EDITOR=nano'ArgumentoLa línea tal como quedará en el archivo. Las comillas simples evitan que $ se reemplace antes de tiempo.
3>>OperadorAgrega al final del archivo sin borrarlo.
4~/.bashrcArgumentoEl archivo que bash lee al abrir cada terminal.
Resultado

Cada terminal nueva tendrá EDITOR=nano. Para aplicarlo ya en la actual: source ~/.bashrc.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-pMuestra todas las variables exportadas.
-nDeja de exportar una variable: sigue existiendo en tu terminal, pero los programas nuevos ya no la reciben.
§ 3

Fallas comunes

FallaRemedio
Poner espacios alrededor del igual: export EDITOR = nano.bash responde export: `=': not a valid identifier. Escríbelo pegado: export EDITOR=nano.
Borrar el PATH con export PATH=/mi/carpeta.Reemplazaste la lista completa y ya no se encuentran ni ls ni sudo. Cierra esa terminal y abre otra. La forma correcta es export PATH="$PATH:/mi/carpeta".
Exportar en un script y esperar verla en tu terminal.Un script corre en su propia copia del entorno y lo que exporta desaparece al terminar. Para que afecte tu terminal, cárgalo con source script.sh.
Crear la variable sin export y que el programa no la vea.VARIABLE=valor a secas solo existe en tu terminal; los programas que lances no la reciben. Agrega export delante.
§ 4

Preguntas frecuentes

¿Qué hace export en Linux?
Convierte una variable en variable de entorno, para que la reciban los programas y scripts que lances desde esa terminal. Sin export, la variable solo existe en la terminal misma.
¿Cómo agrego una carpeta al PATH?
Con export PATH="$PATH:/ruta/carpeta". El $PATH del inicio conserva lo que ya tenías. Para que dure, agrega esa línea a ~/.bashrc.
¿Cómo veo mis variables de entorno?
Con env o printenv ves todas. Para una sola: echo $NOMBRE o printenv NOMBRE.
¿Por qué mi variable desaparece al cerrar la terminal?
Porque export solo afecta a la terminal actual y a lo que lances desde ella. Para que exista siempre, agrega la línea export a tu ~/.bashrc.
§ 5

Ver también