No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
15 Hrs
29 Min
43 Seg

Cómo configurar variables de entorno

13/23
Recursos

Las variables de entorno son útiles cuando necesitamos que cierta información prevalezca para poder trabajar más rápido o necesitamos guardar información para no tener que recordarla constantemente.

Variables de entorno en Linux

En linux hay varias variables de entorno que ya están preestablecidas, para verlas desde la consola es tan simple como usar el comando seguido de la variable de entorno.

Por cierto, todas las variables de entorno se mandan a llamar con un signo de peso por delante, de lo contrario se interpretará como un comando.

| Variable | Contenido | | --- | --- | | HOME | Indica el home del usuario | | PATH | Indica las direcciones de donde están los binarios que usa el sistema | | BASH_VERSION | Indica la versión del bash que estás utilizando | | SHELL | Dirección de la shell que estás utilizando |

Hay muchas más, pero estas son las que te pueden interesar. Por cierto, por convención las variables de entorno se crean en mayúsculas.

¿Cómo crear tus propias variables de entorno?

En el home de tu usuario debe haber un archivo oculto llamado ".bashrc", lo puedes ver ejecutando el comando ls -la la opción -a es de all. ls -la ejemplo-como-crear-variables-entorno.png

Ábrelo utilizando el comando code .bashrc, si tienes instalado VS Code esto te mostrará el documento en el editor. Si estás en WSL y no te funciona, ve a la cmd, ejecuta el comando wsl y vuélvelo a intentar desde ahí.

Cuando lo abras ten cuidado con lo que tocas, podrías dañar la shell, pero desde ahí puedes crear una variable de entorno, por ejemplo, como yo estoy usando WSL, voy a crear una variable de entorno que me de la ruta de mi carpeta en Windows sin que tenga que escribir toda la ruta.

ejemplo-al-ejecutar-variables-entorno.png Ahora guardo el archivo, reinicio la terminal y ejecuto:

cd $WINDOWS variable-de-entorno-configuracion.png

Pero se puede hacer mejor porque también puedo crear un alias que no se borre cuando cierre la terminal.

ejemplo-configuracion-variable-entorno.png

ejemplo-configuracion-variables-de-entorno.png

Ahora solo tengo que ejecutar cc para ir a mi carpeta en Windows sin necesidad de escribir la variable de entorno.

Ahora crea las variables o alias que necesites para ser más eficiente tu trabajo, por ejemplo, podrías crear un alias que ejecute VS Code y lo abra en la carpeta que requieres.

Contribución creada con los aportes de: Miguel Gonzalez.

Aportes 299

Preguntas 162

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

![](

Notas 😄
Variables de entorno.

  • La termina tiene una configuración con diferentes valores, que se pueden acceder con las variables de entorno. Estas son muy importantes para la configuración general del sistema 🚒.
  • Podemos guardar alias para que se queden de manera permanente con esto 😉.
  • ln -s <ruta> <Nombre> Esto para hacer link simbólicos, que son un tipo de archivo que hacen referencia a otro lugar, básicamente es un acceso directo desde terminal 📁.
  • printenv nos muestra todas las variables de entorno que tenemos configuradas 📔.
  • echo $<variables> esto nos sirve para imprimir una variable en particular.
  • Algunas variables son:
    • HOME es nuestro HOME de usuario 😆.
    • PATH tiene todas las rutas donde se encuentran los binarios en los que se ejecuta nuestro sistema. 🛣️ Hay varios manejadores de paquetes para binarios, pero no todas las veces se agregan a PATH, y se deben agregar a mano.
  • En HOME, existe un archivo que se llama .bashrc que es donde está nuestra configuración de Bash. Lo podemos abrir con VS Code para modificarlo. En este archivo podemos crear alias.
  • alias <nombre>="comando" para crear un alias útil 👀.
  • code <archivo> para abrir un archivo de texto en VS Code desde la terminal.
  • Para modificar o crear una variable de entorno, se hace, por ejemplo PLATZI_MESSAGE='Hola amigos".
  • Para agregar una ruta a la variable PATH ponemos en .bashrc PATH=$PATH:<ruta>, guardamos, cargamos bash en la terminal, y listo 😄.
  • Es muuuy importante tener cuidado con los alias, nunca hay que nombrar un alias como un comando ya existente 😟.

☝ Las variables de entorno son muy útiles cuando quieres compartir un script que usa dichas variables de entorno. Por ejemplo, ¿alguna vez has usado variables de entorno en proyectos de NodeJS, PHP, Vue, React? Esas que se guardan en archivos .env, aquí en la terminal son muy similares, puedes tener tus propias variables de entorno, y puedes crear un script para la terminal que haga uso de ellas!
.
Claro, si solo nos enfocamos al uso exclusivo de la terminal podemos sacarle mucho provecho también, por ejemplo, podemos saber cuántas rutas tiene nuestra variable PATH:

echo $PATH

Esto por ejemplo, sirve para debuguear cuando algún comando no funcione, podemos mirar si la ruta de su archvio está dentro de PATH 😄

Como aporte por si quieren ver las rutas de $PATH mas fácil o legibles en formato de lista pueden usar echo $PATH | tr : \\n y de esta manera se vera cada ruta en forma de lista

con lo visto hasta el momento cree un mensaje cada vez que se inicia la terminal o se llama al bash en su defecto jajaja

🐱‍💻 Las variables de entorno permiten pasar información de forma simple, de una aplicación a otra.

Go to platzi!

alias ch='google-chrome'
alias platzi='ch https://platzi.com/home'

Un pequeño aporte:

30 prácticos alias para tu Bash

De todo y para todos… 😉😉😉

Si de casualidad instalaron oh-my-zsh pueden abrir en VSC los archivos

code .bashrc .zshrc

y si entran en el archivo .bashrc y buscan los alias que hay alli y no les funcionan es porque deben copiarlos y ponerlos en el archivo .zshrc

para cambiar de shell ya que si instalan oh-my-zsh, bash sigue funcionando solo deben escribir en su consola

bash o zsh 

para cambiar entre shells

Un pequeño resumen
ln -s --> Nos permite a crear enlaces simbólicos que en simples palabras son accesos directos con un nombre descriptivo o fácil de aprender, esto nos ayuda a acceder a ubicaciones dentro de nuestro sistema sin tener que usar rutas absolutas, esta es su estructura básica:
ls -s ubicaciónAbsoluta nombreDescriptivo

printenv --> Nos imprime todas las variables de entorno configuradas en nuestro sistema.

Si deseamos el contenido de alguna variable de entorno utilizamos el comando echo $nombreVaraible

Si deseamos configurar nuestras variables de entorno debemos acceder al archivo oculto de nuestra Shell, para esto usaremos el comando ls -la y debemos encontrar uno de estos archivos (dependiendo tu SO):

  • Linux --> .bashrc

  • Mac --> .zshrc
    Generalmente este archivo no está creado en Mac, para esto debemos crearlo, les dejo el siguiente vinculo en donde se habla de su creación (archivo zshrc)

Tras haber modificado o creado las variables de entorno, debemos guardar los cambios(dentro del editor de texto), luego debemos decirle a nuestra terminal que lea las variables de entorno y pueda actualizar (si es que existen cambios), para esto usamos el comando bash y listo, ya podemos usar nuestras variables de entorno, saludos a tod@s!!!

Les comparto mis apuntes, espero que le sirva. 😄
Nuestra shell o línea de comandos tiene una configuración, esta y diferentes valores del sistema se pueden acceder a través de las variables de entorno es super útil poder manejarlas. Hay variables de entornos primordiales incluso para la configuración del sistema, podemos tener variables de entorno para saber la ubicación del home, los binarios, etc.

Links simbólicos

Son un tipo de archivo que hacen referencia a un lugar, es como un acceso directo desde la terminal.

Lo podemos crear así:

$ ln -s [ruta] [nombre del link simbólico]

s: Es de simbólico.

Ejemplo

lrwxrwxrwx 1 galeedgutierrez galeedgutierrez   12 Aug  4 20:19 documentosLink -> ./documentos

Aquí vemos que el link simbólico “docuementosLink” apunta a ./documentos.

También vemos que antes de los permisos vemos una l.

Permisos dummy

Todos los permisos que vemos son permisos dummy o permisos que no tienen valor. Los links simbólicos como tal no tienen permisos.

Variables de entorno

printenv

Este nos muestra todas las variables de entorno que tenemos configuradas

Imprimir variables de entorno

Podemos usar la siguiente sintaxis.

$ echo $[variable de entorno]

Variables que tenemos que conocer

$HOME

Es la ruta de nuestro home de nuestro usuario. Podemos usarla para ir al home.

$ cd $HOME

Esto es útil por si queremos configurar una ruta en específica que vayamos a usar en algún programa o script, etc.

$PATH

PATH tiene toda la ruta en donde se encuentran los binarios que ejecuta nuestro sistema.

Modificar/crear variables de entorno

Debemos buscar el archivo .bashrc en el home de nuestra terminal, este archivo es donde se mantienen la configuración del bash. En caso de ZSH lo vamos a encontrar en .zshrc.

Modificar

Podemos modificar estos archivos desde un editor de texto como ser VSCode o con los que ya vienen en la terminal como VIM o NANO.

Podemos modificar o crear usando alias.

alias l='ls -lh'

Crear

MENSAJE_NUEVO="Mensaje"

A esto lo podemos invocar usando el comando echo, tal como $HOME o $PATH.

$ echo $MENSAJE_NUEVO

Manejadores de paquetes

Normalmente cuando estamos instalando nuevos binarios hay diferentes manejadores de paquetes, es el que se encarga de traer un repositorio e instalar algún binario dentro de la máquina, esto lo podemos hacer con el sistema de paquetes nativos en Linux es apt, etc.

Lo que hacen estos es traer un repositorio, instalar algún binario, pero no todas las veces las rutas donde están estos binarios hay que agregarlos a la variable PATH.

Agregar una nueva ruta de binarios a PATH

Una vez dentro de la terminal realizamos lo siguiente

PATH=$PATH:nuevaRutaDelBinario

Cuando ponemos $PATH quiere decir que use lo que ya tiene y con : le estamos diciendo que agregue la nueva ruta del binario…

Alias

Es importante que tengamos cuidado con los alias y como los asignamos, no hay que crear alias de comandos que ya existen.

$ alias cd='rm -rf' #Es muy peligroso

También les comparto apuntes del mismo curso pero del 2019.

Clase: Qué son y cómo se utilizan las variables de entorno

El hecho que podamos ejecutar comandos sin necesidad de colocar su ruta completa, esto es posible porque tenemos algo llamado variables de entorno.

Variable de entorno

Es una definición global a la que todos los procesos tienen acceso y específicamente el sistema operativo tiene acceso a esa variable para tomar más información sobre lo que está pasando a su alrededor.

$PATH

El $PATH o ruta en esta variable se almacena todas las rutas en la que el intérprete de comandos, la terminal, tiene que ir a buscar los archivos que pueden ser ejecutables.

Si usamos el comando:

$ echo $PATH

Podemos ver los lugares donde podemos encontrar los archivos ejecutables.

Todos los comandos que utilizamos tienen que estar definidos en la variable $PATH.

$: Es una forma de pedirle al intérprete de comandos que expanda el contenido de esa variable, esto sucede con todas las variables de entorno.

Todos los procesos tiene acceso a las variables de entorno, tanto para leerlas como para cambiarlas.

Asignación de las variables de entorno

Esto se puede hacer para un comando en particular o para toda la sesión.

Asignación global

Para asignarla para toda la sesión usamos el comando:

$ export VAR=valor

Asignación particular

Podemos definir el valor solamente para el próximo comando que vamos a ejecutar, no es usual, pero lo podemos usar para sobreescribir una variable que ya teníamos definida y no queremos alterarla para todos los comandos sino para una ejecución en particular.

$ VAR=valor comando

VAR: El nombre de la variable.

valor: Es lo que queramos que exista.

Clase: Sistemas de manejo de paquetes

Instalar software

Para poder usar un software que no viene en nuestro sistema, lo que necesitamos es instalarlo para poder usarlo.

Una instalación implica descargar el programa por lo que tenemos que saber de donde sacarlo, cuando lo tengamos procedemos a realizar la descarga, después tenemos que copiar los archivos del programa a los lugares en los que sea necesario y por último hacer algunas configuraciones para que el programa pueda correr.

Paquetes de software

Son programas que se encargan de realizar todas las tareas por nosotros y se llaman paquetes de software.

Así como existen los paquetes también existen otros programas que son los administradores de paquetes, estos conocen de donde realizar la descarga que otros paquetes ya tenemos instalados y como configurara todo de tal manera que no genere conflictos, se encarga de resolver los problemas de dependencias.

Paquetes binarios

Según el sistema operativo vamos a poder usar diferentes manejadores de paquetes. Son archivos que ya son ejecutables.

apt

Se utiliza en distribuciones de Linux basadas en Debian.

install: Es uno de los comandos que tiene incorporado apt.

$ apt install nombreDelProgramaAInstalar

zypper

Se utiliza en las distribuciones de SUSE.

rpm

Es el comando universal, es un poco más rústico.

En caso de no poder instalar debemos usar sudo.

lynx

Es un navegador de internet desde la línea de comandos.

$ lynx paginaWeb

Paquetes de lenguajes

Son librerías escritas en el mismo lenguaje que vamos a utilizar.

Cada lenguaje propone su manejador de paquetes.

pip

Se usa con Python.

Para ejecutar archivos en Python necesitamos ciertas librerías como pandas.

$ sudo pip install pandas

composer

Es para PHP.

npm

Este es para NODE.JS.

Otros

Estos pretenden ser más genéricos con los que es posible instalar paquetes binarios o propios de un lenguaje.

  • conda
  • homebrew

Para usarlos hay que instalarlos primero.

Esta clase tiene la particularidad de que se siguen muchas procesos y el profesor da muchas instrucciones de muchas herramientas y codigos que podemos usar, pero en ningún momento se detiene a pensar en las personas que estan empezando a desarrollar su conocimiento y sus bases de programación por lo cual se hace muy dificil seguir la dinamica, ya que no se entiende que se esta haciendo, por que se esta haciendo y se pierde el hilo conductor

Por algún motivo al momento de ejecutar el comando code .bashrc en la terminal me sale esto.

Así que ingresé desde la terminal de Visual Studio code.

En este punto he decidido volver al principio del curso y tomarlo enserio ,no me sirve tener el certificado y la cabeza hueca.

Si revisan el archivo .bashrc se van a encontrar con esto:

Lo que dice es que es preferible añadir nuestros alias personalizados en un archivo .bash_aliases

Para visualizar todos los alias que existen en nuestro sistema, basta con escribir alias en la terminal y nos mostrara todos los alias existentes.

Tambien es posible saber si un comando en especifico es un alias o no. Con el comando type podremos saber esto, por ejemplo, yo tengo un alias para neovim

$ type vim
vim is an alias for nvim

Cuando el comando es un comando nativo o una función, type nos lo dira.

$ type git
git is /usr/bin/git
$ type my_function
my_function is a shell function from /home/user/.zshrc

Para usuarios con WSL, hice un alias que permiten ingresar a https://platzi.com/home directamente, y da un pequeño saludo:

alias platzi='cmd.exe /c start chrome  https://platzi.com/home && clear && echo "Saludos Platzinauta" | lolcat --animate' 

Hola a todos,para aquellos a los que el comando code . no les funciona en el WSL, les cuento que busqué en varios post de Google y en uno encontré lo que me funcionó y que fue la solución más fácil.

  1. Abran una ventana de Windows PowerShell en modo administrador y ejecuten el comando wsl --update

  2. Cuando termine la actualización del WSL (la cual puede demorar algunos minutos) ejecuten el comando en la ventana del PowerShell wsl --shutdown para que se apague la WSL y se apliquen los cambios.

  3. Abran nuevamente la wsl y listo, ya el comando code . en la WSL les debería funcionar, bueno, al menos a mi me funcionó.

Saludos

Link simbólicos:

  • Son acceso directo desde la terminal

  • Para usarlo escribimos: Ln -s dirección (nombre del atajo)

  • Se crea un documento especial (se puede observar con ls -l)

  • Ejemplo: ln -s Documents/Dev Desarrollo (para crear)

Definición de variable de entorno:

  • Las variables de entorno nos sirve para acceder a las configuraciones de tu terminal y del sistema.

  • Las variables de entorno hacen referencia a archivos, directorios y funciones comunes del sistema cuya ruta concreta puede variar, pero que otros programas necesitan poder conocer.

  • Se pueden configurar, manipular y crear.

Comando printenv

  • Lista todas las variables de entorno

Comando echo {contenido}

  • Imprime la información en contenido

  • En caso de variable de entorno: echo $variable

variable de entorno $HOME

  • Guarda la ruta del usuario

  • -echo $HOME // imprimir la ruta

  • -cd $HOME // ir a la ruta

variable de entorno $PATH

  • Guarda todas las direcciones de los binarios que ejecuta nuestro sistema.

  • Cuando ejecutamos node, usa esta variable para buscar el binario.

  • Esta variable es importante al instalar paquetes desde un gesto (como npm) pues muchas veces nos pedirá el paquete agregar la ruta del binario del paquete a la variable $PATH

.bashrc

  • Es el archivo donde se encuentra la configuración de nuestro bash.

  • Se puede modificar para modificar las variables de entorno.

  • De no existir debes crear lo junto al archivo .bash_profile

  • Para crear comandos tipo alias
    alias l=‘ls -lh’

  • Para crear variables de entorno
    MAXI_MESSAGE=“HOLA MUNDA”

  • Para añadir nuevas rutas a la variable de entorno $PATH debemos concatenar la informacion previamente guardada con la nueva que queremos agregar:
    PATH=$PATH:/home/user/bin

La terminal tiene ciertas configuraciones, esta y diferentes valores del sistema se pueden acceder con variables de entorno. En ocasiones podremos crear alias pero esta vez serán de forma permanente.

Los links simbólicos hacen referencia a un lugar.

ln -s ruta nombreLink

De esta forma creamos un acceso directo a la ruta que escribimos con el nombre que mandamos como parámetro. En este caso ahora si escribimos

cd nombreLink

Este nos mandara a la ruta que le asignamos en el comando.

printenv

Este comando nos muestra todas las variables de entorno que existen en nuestro sistema operativo.

echo $nombre

Este comando nos muestra el valor de la variable que seleccionemos. Al igual que ya tengamos el nombre y su valor, podremos utilizarlo para algún programa o para usar comandos.

code .bashrc

Este comando nos abrirá visual studio code y nos abrirá el archivo .bashrc que es donde tenemos guardada todas nuestras variables de entorno y donde podemos modificarlas.

Si queremos crear una variable de entorno, necesitamos poner el nombre en mayúsculas y la sentencia que queramos entre " ".

Si queremos modificar una variable de entorno y concatenarla con su valor original, utilizamos

PATH=$PATH:/home/codevars/bin

NO HAGAS ALIAS DE COMANDOS EXISTENTES, ES PELIGROSO

Hola chicos y chicas, aqui les dejo un excelente video de las VARIABLES DE ENTORNO para reforzar lo que nos explico el profesor en esta clase, espero y les sea útil.
https://www.youtube.com/watch?v=ocdlXH9jAjA

Es increible el valor de esta clase , aqui les dejo unos alias que hice :

<alias nf="neofetch"
alias fx='firefox'
alias platzi='fx https://platzi.com/home'
alias yt='fx https://www.youtube.com/'
alias sup='sudo apt install update && sudo apt install upgrade && autoremove'
alias py="cd /home/bitecode/Bryan/python"
alias work="cd /home/bitecode/Bryan && code python"
alias bryan="cd /home/bitecode/Bryan"> 

Buenas, estoy haciendo el curso con una WSL con distribución Ubuntu, casi en todas las clases venia teniendo algún problema ya sea con un comando, una extensión y siempre que me fije a muchos les pasaba lo mismo por eso me puse a investigar y encontré un mini tutorial de VS que explica paso a paso todo, desde este archivo pude solventar todos los problemas, espero les sirva =D
https://code.visualstudio.com/docs/remote/wsl-tutorial

Hola a todos!

En mi caso no encontraba el archivo .bashrc así que buscando encontré que estaba oculto y para poderlo visualizar usé:

ls -la ~/ | more

Y problema solucionado…

¿Por qué al guardar un alias en el .bashrc queda permanente?

.
Realmente no es que quede permanente si se guarda en el archivo de configuración de nuestra terminal. Lo que pasa es que este archivo es ejecutado cada vez que iniciamos la shell. Por esta razón siempre que iniciamos la terminal estos comandos serán ejecutados, se crearán los alias y estarán disponibles para nuestro uso 😉😊.

Me generaba error al abrir el archivo con VS en WSL2, se soluciono reiniciando

Estos son mis alias:

# Actualizando el sistema
alias update="sudo apt update && sudo apt upgrade"

# ¿Qué día es hoy?
alias time="date; cal"

# Muestra todos los archivos de mayor a menor tamaño, tambien los archivos ocultos y nos muestra los permisos, y por último, añade / al final de cada directorio.
alias content="ls -lFAS"

Aquí hay una lista de alias que pueden llegar a ser útiles
https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html

Para los que esten usando WSL, y no les quiera reconocer el comando code a mi me funciono lo siguiente:

sudo apt-get update
sudo apt-get upgrade

cabe destacar que a mi me funcionaba normal desde el terminal de windows, pero queria abrir VSC desde ubuntu, con el codigo anterior me funciono.

Si usas Mac y te aparece en la terminal el mensaje “command not found”. Abre VSC, ve a la opción View y luego a Command Palette, te aparecerá un recuadro, aquí buscas el sgte y se instalará, finalmente cierra/abre la terminal y usa Code.

Jugando con la terminal

Acabo de crear un alias, espero les sirva (la verdad se me hace my largo hacer todo ese proceso de entrar carpeta por carpeta y más si lo que busco son mis archivos). 😒por fa si lo ven util sigan paso a paso. 👌

  1. si estamos en windos con wsl escribimos
code.bashrc

(si están en mac .zshrc ) 😘ahora se abrirá VisualStudio si no, lo abren manualmente. 🤷‍♂️

  1. en la linea 15 (es la que yo uso de referencia) 🤷‍♂️ (enserio haganlo para que se acuerden) 😒 escriben o (copian y pegan preferiblemente todo lo que sigue desde aquí):

#esto lo hice para acortar tiempo y lo puedo modificar.

alias mipc='cd /mnt/c/Users/AquiPonenElNonmbreDeSuUsuario'

hasta aqui no mas.

ojo que la comilla final es necesaria, no está de adorno. 😘

Si no saben como encontrar el nombre de su usuario la ruta en su computador Windows es:C:\Userssolo copien y peguen en la barra de buscar.(si el nombre de su usuario en el pc tiene espacios(CELIA CRUZ CORTEZ) se debe poner así:“CELIA CRUZ CORTEZ” y finalizar con la comilla sola —>  quedando así la ruta:

alias mipc='cd /mnt/c/Users/"CELIA CRUZ CORTEZ"'

(cuidado con las mayúsculas y minúsculas)

  1. ahora guardamos en VisualStudio con Ctrl+s
  2. vamos a la terminal de ubuntu o WSL y escribimos
bash

(esto para actualizar y si, es muy importante hacerlo) 😒
5. esribimos mipc y ahora disfruten su nueva ruta.si les gusto demen un corazón no sean tacaños. 😢

Dos alias que hacen de mi vida más fácil son:

alias step1='sudo apt-get update'
alias step2='sudo apt-get upgrade'

me ahorran unos cuantos movimientos de dedos y son el pan de cada día

En el 6:20 dices: “que te recomiendo que lo tengas, porque ya hiciste el curso de prework”, creo que Platzi debería dejar claro qué asume el instructor que uno ya ha hecho de cursos. A mí no me afecta, pero a otros que llegaron a este curso les puede frenar en su aprendizaje

Se pueden hacer cosas muy interesantes con esta información

Hola alguien me podrá ayudar cómo accedo o ejecuto el comando ‘code .bashrc’ desde WSL?

Acabo de crear mi primer alias
En este caso no es muy relevante puesto que la ruta es solo 1 carpeta mas.
Pero aprendido esto podré crear mis alias para los comandos de Git que después de tantas veces ingresarlos se agradecería tener un atajo personalizado.
Ustedes tienen alias de git que deseen compartir como los colocaron? o si existe algún estándar 😅

Export

.
Algunas variables de entorno en el archivo de conf de la shell tienen la palabra export frente a ellas. ¿Por qué? Esto se debe a que son variables que se usan en programas o scripts externos a la shell. Si no tienen la palabra export, entonces si se intentan usar en estos scripts o programas, no se podría obtener sus valores.
.
Por ejemplo:

$ MYVAR="value"
$ echo ${MYVAR}
value
$ echo 'echo ${MYVAR}' > echo.sh
$ chmod +x echo.sh
$ ./echo.sh

$ export MYVAR="value"
$ ./echo.sh
value

Lo que está sucediendo es lo siguiente:
.

  1. En este caso se crea la variable MYVAR con el valor “value”, se imprime desde la shell MYVAR y el resultado es “value”.
  2. Posteriormente se crea un script que hace exactamente lo mismo, intenta imprimir en pantalla el valor de MYVAR.
  3. Se le dan permisos para ejecutar el script, y se ejecuta.
  4. Como MYVAR no es una variable exportada, al ser llamada desde un script externo a la shell entonces este no puede acceder a su valor y por eso imprime vacío.
  5. Se exporta MYVAR y se le asigna un valor de “value”.
  6. Al volver a correr el script, este ya puede acceder a MYVAR e imprime su valor correctamente.

.
Se debe tener en cuenta que en este ejercicio se creó la variable MYVAR desde la shell, lo cual la hará volátil, es decir, una vez se cierre esa sesión de la consola, la variable MYVAR dejará de existir.
.
Este ejemplo lo saqué de esta respuesta, gracias a su autor.

Probando los alias. 💪

Si a alguno no le funciona la terminal de Ubuntu cuando tratan de abrir VSCode con code . traten de usar otra terminal, yo use Windows Terminal y desde ahi se se hizo el update automaticamente del acceso a vscode.
Ya luego pude regresar a la terminal de ubuntu y pude abrir tranquilamente vsc, igual desde la windows terminal claro.

Los links simbólicos son como darle un alias a una direccion en la computadora para acceder a ella más rápido. Por ejemplo: ln -s Documents/Dev Desarrollo. -> ln -s para decir que es un link simbólico, luego la ruta a donde iremos y finalmente el nombre que tendrá este link simbólico. Los links simbólicos no tienen permisos.

  • printenv nos mostrará las variables de entorno de nuestra computadora.
  • echo $NombreDeVariable nos mostrará una variable de entorno específica.

La variable de entorno PATH tiene las rutas de todos los binarios que se ejecutan en nuestro sistema. Esta variables es MUY IMPORTANTE.

En el archivo “.bashrc” tenemos guardadas las configuraciones de la terminal. Si es una terminal de ZSH, estarán en el archivo “.zsgrc”

Un alias muy útil para evitar escribir git push origin main es simplemente alias gpom='git push origin main'.

12. Variables de entorno:

Para crear un archivo simbolico escribimos:

  1. ln -s Documents/Dev Desarrollo

Para ver nuestras variables de entorno usamos printenv

Veamos algunas variables de entorno:

  1. $HOME : Nos muestra la ruta de nuestro home.
  2. $PATH : Vamos a ver nuestro path de nuestro.

En windows, para imprimir variables de entrono usamos

set variable de entorno

ejm

set HOME
es equivalente a echo $HOME

Si estan en MAC y quieren ver el .bash, solo tienen que editar el .bash_profile

Pequeño resumen de lo que entendí a nivel no tan técnico.

▶Los alias escritos directamente en la terminal solo funcionaran durante esa sesión, si reinicias, cierras o recargas la terminal estos alias desaparecerán.

▶Los alias asignados en el archivo .bashrc o .zshrc (ubicado y oculto en $home) no se borran al cerrar o reiniciar la terminal.

▶$PATH es la ruta donde se buscan binarios/archivos ejecutables para otros programas, todos los comandos que hemos ejecutado hasta ahora se encuentran en alguna carpeta de $PATH (min 4:14).

En el ejemplo que del profesor, la carpeta vacía BIN no se usara hasta el momento donde se instale algún programa en esa carpeta (min 8:35), cuando un comando no funcione correctamente o un programa necesite buscar funciones en otra ruta que no este incluido en $PATH podemos asignar nuevas direcciones con las instrucciones del minuto (9:02)
PATH=$PATH:/HOME/carpetaDeTuEleccion/

si te aparece el error “su: Authentication failure”, entonces para acceder a root debes usar

sudo root

Un alias puede ser tan largo como se requiera y utilizar redirecciones y operadores de ejecución. El siguiente ejemplo que usa los parametros que se le pueden dar a ls, muestra todos los archivos (a), en una lista larga (l), con tamaños de archivo facilmente entendibles (h) y al final de cada elemento le coloca una clasificación (/ para carpetas, *para archivos, etc.) y tambien “ordena” o muestra primero los directorios, luego los archivos, luego los enlaces y después otros tipos de recursos que pueden existir en el sistema de archivos de linux (los más usados); al final muestra el total de uso en disco (tamaño total de archivos), todo gracias a que se enlaza el resultado con el comando grep.

alias dir="ls -ahlF | grep '^d'; ls -ahlF | grep '^-'; ls -ahlF | grep '^l'; ls -ahlF | grep '^c'; ls -ahlF | grep '^b'; ls -ahlF | grep '^s'; ls -ahlF | grep '^p'; ls -ahlF | grep '^total'"

Se repite el comando ls tantas veces como tipos de recursos existen (archivos, directorios, enlaces, etc), pues grep imprime SOLO el resultado de las lineas que comienzan (^) por la letra de cada tipo de recurso, por ello hay que hacerlo, en secuencia por cada tipo de recurso, incluyendo la palabra total al final en una ultima busqueda.

Igualmente no es muy util utilizar este comando, se pierden los colores que da el comando ls, pero sobre todo porque la busqueda en una carpeta con muchos archivos o posiblemente en algunas utilizando el parametro -r sea una busqueda demasiado larga.

Si creaste una variable y luego fuiste a la terminal, pusiste bash y luego echo $TU\_VARIABLE y no te muestra el valor de la variable o reiniciaste la terminal y aún así no pasa nada, entonces es porque tienes que exportar la variable: `export NOMBRE_VARIABLE=valor` Hay que tener en cuenta que los nombres de las variables de entorno deben cumplir con las siguientes reglas: * Deben comenzar con una letra o un guión bajo. * Solo pueden contener letras, números, guiones bajos y guiones. * No pueden ser palabras clave reservadas del shell. Si el nombre de la variable no cumple con estas reglas, la variable no se exportará correctamente.

Estos son algunos alias que utilice:

alias instalar='sudo apt-get install' 
alias actualizar='sudo apt update; sudo apt upgrade'

Si a alguien no le funciona el comando code a pesar de tener instalado Visual Studio Code, simplemente cierre la terminal y vuelvalo a abrir.

Gracias a esta clase, decidí crear un comando, un poco peculiar…

Para aquellos que estén usando la terminal de windows y les marque un error al ejecutar “code” (no existe) intenten abrir ubuntu directamente desde su terminal en lugar de la de windows e intenten ejecutar el comando code.
Una vez hecho esto ya podrán volver a la terminal de windows y ejecutar el comando sin problemas

Siento que hacen falta cosas por explicar, sobre todo para usuarios de WSL, hay cosas diferentes y hay temas que necesitan mayor desarrollo

Les dejo mis apuntes de esta clase partida en 2 partes.


Para los que no podían abrir VSC desde la terminal, sigan los pasos que les muestro en la imagen! Saludos

¿Qué son las variables de entorno en Linux?

  • Las variables de entorno son valores dinámicos que afectan los programas o procesos que se ejecutan en un servidor Linux en este caso. Las variables de entorno se pueden crear, editar, guardar y eliminar.

  • Las variables de entorno de Linux, son marcadores de posición para la información almacenada dentro del sistema que pasa datos a los programas iniciados en shells (intérpretes de comando) o sub-shells.

  • El entorno se implementa como cadenas que representan pares clave-valor. Si se transmiten múltiples valores, estos suelen separarse mediante símbolos de dos puntos (😃. Normalmente, cada par tendrá un aspecto similar a este:

Les cuento que estaba intentando abrir el visual studio code con

<code .baschrc> 

y me abría el visual studio pero con el archivo vacío, después de averiguar por todo lado encontré que la solución era resetear, 😑 😑 pues eso hice, resetee la laptop y listo, ahora si abre.

No se la causa pero si la solución jajaja.

El problema de editar el archivo .bashrc con la finalidad de editar una variable de entorno como el ejemplo PATH=$PATH:/home/usuario/bin es que cada vez que se reinicie la bash se le va a agregar la misma ruta al final. Solo es una observación, ésta fue una poderosísima clase.

Comando para crear un link simbolico

ln -s <ruta> <nombre-link>

If you use WSL, and it is not working, the code command. You can use, the next steps:

  • Instead of running the command above, you can manually add VS Code to your path, to do so run the following commands:
cat << EOF >> ~/.bash_profile
  • Then add:
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
  • Start a new terminal to pick up your .bash_profile changes.
    And now, it is working.

Nota: Que pena mi inglés, pero estoy tratando de manejar más el inglés técnico, para mejorar en esta habilidad para mi trabajo.


manejador de paquetes es el que instala programas por ejemplo apt

Un atajo bastante simple pero útil a mí parecer es el comando:
$ cd ~
No importa en que path estemos, nos lleva al directorio Home.
$ cd /
Esto nos lleva directamente a la raíz ( root ) del sistema.

Vale también añadir las funciones. Son similares al alias, pero permiten meter variables (por ejemplo, si quieres hacer find y rm pero sin meter todo el rato -exec… o -delete).

# función en .bashrc para hallar y remover, útil cuando 
# uno usa wsl para borrar zoneid. El nombre viene de 
# findremove

fndrmv() {
    find . -name $1 -exec rm -ir {} \;
}

Ese es un ejemplo, pero puedes hacerlas más complejas. Vale aclarar que hay otra forma de hacerlas, pero bueno. Lo importante es que se sepa que $1 es la variable que insertas.

Tratando de replicar lo que un compañero hizo modificando el comando bash para que imprima un dragón el ejecutarlo como se muestra en la imagen:

Antes hagan una copia del archivo de configuración para que no les pasé lo que a mi que dejaron de funcionar el comando bash jajaja:

Después de esto editar el archivo:

Agregar esta línea y guardar los cambios:

ejecutar nuevamente el comando bash para que se hagan efecivos los cambios:

Listo ya tienen su bash personalizado 😃

Muy buena explicación. como recomendación personal, les aconsejo que utilicen los alías de los comandos raros, aquellos que pueden ser muy difíciles de aprenderse. Eso les evitara de estar buscando cada cierto tiempo en el historial de comandos.

Las variables de entorno son definiciones globales o valores globales a los que todos los procesos de un sistema tiene acceso, por ejemplo, la variable PATH es accesible para todos los procesos del sistema, debido a que en esta variable se almacenan todas las rutas de los ejecutables.

Para consultar el contenido de una variable de entorno se debe anteponer el simbolo pesos ($). Ejemplo: echo $PATH.

Se pueden asignar variables de entorno para un comando en particular o para toda la sesión en que nos encontremos.

La asignación de variables de entorno para toda la sesión, se realiza asi: export VAR=valor, donde VAR es el nombre de la variable que estamos creando y valor es lo que queremos que exista en esta variable.

para asignación de variables locales, simplemente se debe asignar un valor a una variable simple. Esto se utiliza por ejemplo, cuando queremos asignar un valor a una variable que solo sea valido para la ejecución de un comando, sin afectar el valor global que ya tengo asignado. Para eso, podemos hacerlo asi: VAR=valor comando.

Es un definición global a la que todos los procesos tienen acceso. esta toma mas información de lo que se este typeando.

Ejemplo: echo $PATH = se encuentran todos los comandos ejecutables

Asignación de las variables de entorno

export: Este comando se utiliza para asignar a toda la sesión

Ejemplo: export MI_VAR = david, si luego escribimos echo $MI_VAR se mostrará mauro en la terminal. (Este permanecerá miestras dure mi sesión)

var: Este comando solo asigna el valor para el proximo proceso que se va a ejecutar. este no es muy usual.

Ejemplo: MI_VAR=/home php env.php

Variables de entorno
Son variables que cargamos en el código de la shell y que conviven de manera permanente para su acceso

  • Normalmente se escribe en mayúsculas una variable de entorno creada por el usuario
  • Se puede concatenar el valor de una variable
  • PATH=$PATH:/rutanueva/subdirectorio
  • Los dos puntos ( : ) son los encargados de concatenar

Comandos útiles

  • printenv: muestra todas las variables de entorno
  • echo $nombreVariable: imprime la variable
  • $PATH: muestra los paths de binarios

Links simbólicos

  • ln -s Directorio/Subdirectorio LinkSimbolico
  • Los links simbólicos son como accesos directos
:) me inspire en algunos de ustedes. ![](https://static.platzi.com/media/user_upload/image-ee613403-9e04-41ec-abef-824460e701d9.jpg)
### Qué son las **variables de entorno** en la terminal? Las **variables de entorno** son como una lista de configuraciones que el sistema operativo usa para saber cómo deben funcionar ciertos comandos y programas cuando los ejecutas en la terminal. Estas variables almacenan información que el sistema necesita para funcionar correctament

Así personalice mi terminal para que al abrirla siempre me aparezca rick

Las variables de entorno son una herramienta que nos va a facilitar mucho la vida en nuestro día a día, bien sea para tomar variables de entorno para nuestras aplicaciones como para crear las nuestras. De igual forma nos permite crear alias permanentes que nos ayudaran a simplificar nuestro trabajo con los comandos mas comunes que usemos.

Les comparto mi alias favorito

alias up='sudo apt update && sudo apt upgrade -y'

Hola Platzinautas después de ejecutar el comando code. bashrc me abre visual studio code pero el bash me sale vacio.
alguno sabe ¿ qué puedo hacer para resolver este problema ?
encontre este video https://www.youtube.com/watch?v=c6IRQBqAw0I si este tiene la solución les estare comentando en caso de que alguien tenga mi misma duda

A quienes no les esté abriendo VSCode desde la terminal, hay mucho aportes en el chat, sin embargo intenten primero cambiar la configuración de la terminal si es que tienen “Ubuntu” como perfil predeterminado, cambien la selección al otro “Ubuntu” (en mi caso tenía la del pingüino y cambié a la del circulo naranja).

Abran nuevamente la terminal y listo!.

Me funcionó, espero le sea útil a alguien más.

Se complementa con la lectura que está en los recursos, ahí se suelen ver otro ejemplos más prácticos además de su explicación.

al instalar el code y ejecutar el comando code .bashrc me carga en blanco

Saludos. tenía el problema de no poder entrar al Visual Estudio Code desde mi SO Ubuntu pero ya lo hice. Entre en Ubuntu Software y ahí aparece un programa llamado CODE lo descargas y lo instala listo. Luego vas a la terminal y vuelves a escribir code .bashrc y ya abre el VSC (Visual Estudio Code) Espero les ayude mi aporte 😉😉

Clase 13 – Cómo configurar variables de entorno


¿Para qué nos sirven las variables de entorno?

  • Para hacer que alguna información prevalezca para que podamos trabajar más rápido y no tener que recordarla en todo momento.
  • Hacer configuraciones globales.

¿Qué podemos entender como un link simbólico?

  • Como un acceso directo a algún directorio desde la terminal.

¿Cómo podemos crear un link simbólico?

  • Con el comando:
    ln -s ruta nombre-link

¿Un link simbólico da todos los permisos a los diferentes roles que podemos tener en Linux?

  • Aunque veamos que todos los permisos estén dados, esto no significa que de verdad todos los roles tengan todos los permisos para el link simbólico. Esto es porque los permisos que vemos no tienen ningún valor.

¿Para qué nos sirve el comando printenv?

  • Para imprimir en la pantalla todas las variables de entorno de nuestros sistema operativo Linux.

¿Cómo podemos imprimir el contenido de una variable de entorno desde la terminal?

  • Escribiendo:
    echo $NOMBRE-VARIABLE

¿Los nombres de las variables de entorno están en mayúscula?

  • Sí.

¿Qué variables de entorno importantes deberíamos de conocer?

  • HOME
  • PATH
  • BASH_VERSION
  • SHELL

¿Para qué nos sirve la variable de entorno HOME?

  • Para saber la dirección de nuestro home.

¿Para qué nos sirve la variable de entorno PATH?

  • Para saber las direcciones de nuestros binarios que usa el sistema.

¿Por qué la variable de entorno PATH es importante?

  • Porque es muy posible que necesitemos las rutas de dichos binarios para trabajar con manejadores de paquetes y algunos lenguajes de programación.

¿Para qué nos sirve la variable de entorno BASH_VERSION?

  • Para saber la versión del bash que estamo usando.

¿Para qué nos sirve la variable de entorno SHELL?

  • Para saber la dirección de la Shell que se esté usando.

¿En dónde podemos configurar nuestras variables de entorno?

  • Esto depende del sistema operativo
    Linux: en el archivo .bashrc
    Mac: en el archivo .zshrc

¿Cómo podemos abrir los archivos bashrc o zshrc con Visual Studio Code?

  • Escribiendo:
    code .bashrc
    code . zsgrc

¿Qué cosas podemos hacer dentro el archivo bashrc o zshrc a parte de configurar nuestras variables de entorno?

  • Crear alias que permanezcan para siempre en nuestro sistema operativo.

¿Cómo sería la sintaxis para crear una variable de entorno desde los archivos bashrc o zshrc?

	NOMBRE-VARIABLE=“valor”

¿Qué debemos hacer cuando editamos los archivos bashrc o zshrc?

  • Cargar la bash.

¿Cómo cargamos la bash?

  • Con el comando bash.

¿Cómo podemos agregar contenido a la variable de entorno PATH?

  • Escribiendo:
    PATH=$PATH: ‘nuevo-contenido’

¿Deberíamos crear alias de comandos que ya existen?

  • No.

Excelente curso, fue muy bueno

Como estoy usando WSL, cree este alias para que en el futuro al querer acceder a Windows, pues me evite algunas tecleadas jajajaja

ln -s [direccion] [NombreDelLinkSimbolico] -> de esta manera creamos los links simbolicos. En resumen, un link simbolico es un acceso directo a la direccion que especificamos al momento de ejecutar/crear el link simbolico. Los permisos que tienen los link simbolicos son permisos dummy o permisos sin valor ya que los links simbolicos no tienen valor
printenv -> nos muestra todas las variable de entorno que tenemos configuradas
echo $[NombreDeLaVariable] -> Nos imprime la direccion de la variable de entorno
echo $PATH -> PATH tiene todas las rutas de donde se encuentran los binarios donde se ejecutan en nuestros sistemas
~/.bashrc -> En este archivo se encuentran nuestran configuraciones de bash
~/.zshrc -> Si estamos utilizando zsh, los archivos de configuracion se encuentran en este archivo

Es curioso que después de la clase anterior me metí a buscar algún curso de servidores linux y en esta clase lo sugieren.

Ok, en este momento dejo de tomar el curso y busco en otro lado información sobre la terminal, aquí estoy muy pérdido 🙂

Los alias que mas voy a usar

alias l='ls -alh'
alias c='clear'
alias pp='cd /home/matiaschiodo/personalProjects'
alias rm='rm -ir'

Espero sirva:
Hice esta modificación en el archivo .bashrc
alias xampp=‘cd /opt/lampp
sudo ./manager-linux-x64.run’

Esto hace que se abra la interzás gráfica de xampp

El framework Laravel maneja un archivo .env donde se colocan las variables de entornos.

Para wsl el .bashrc que hay que abrir es el de el home, es deicr pueden ir al home y ahi si abrir el archivo:

cd $HOME //viene por defecto
code .bashrc

Y ahi si editan el archivo.
Para volver simplemente hacen:

cd $OLDPWD //viene por defecto

Y ven los resultados
//Esto es lo que me funciono a mi

Para aquellos que no pudieron abrir VSC desde la temrinal en wsl. la pueden abrir con el siguiente comando.

<wslview .bashrc> 

Les comparto mi primer alias de buenas practicas n_n

alias upup='echo "UPDATE!!!" && sudo apt update && echo "UPGRADE!!!!!" && sudo apt upgrade'

Algunos Alias que agregue
.

alias gp="git push origin main"
alias act="sudo apt update"
alias act2="sudo apt update"
alias prende="sudo /opt/lampp/lampp start"
alias apaga="sudo /opt/lampp/lampp stop"

Los últimos dos son para iniciar y detener xampp

Mi alias 😎

alias animo="cowsay \"Sé que tú puedes lograrlo :3\" | lolcat"

Comando printenv te muetra todas las varianbles de entorno de tu equipo que tenemos configuradas
Impimir variables de entorno con echo $
Variable de todas las rutas que ejecuta nuestro sistema es con echo $PATH
´PATH=$PATH: nueva ruta… se agrega una nueva ruta de binarios
Nunca crean alias de comandos que ya existen

En windows, es necesario apenas salgan de WSL cambiar devolverse hasta home y cambiar el usuario para que no les quede por defecto en root

comando printenv nos muestra las variables de entorno del sistema

No se como hacer, me dice, Estas tratando de usar Visual Studio Code como super usuario y no es recomendable

En mi caso no me funciono el code .bashrc y lo que hice fue abrir la terminal desde visual studio y ejecutar el mismo comando