Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Variables de entorno
Ayudan a obtener infromacion del sistema, almacenar informacion temporal y modificar su
informacion. Existen 2 tipos:
Variables Globales: Son visibles desde el shell que lo creo o desde cuaquier hijo de esa shell.
Variables Locales: Son visibles solo desde el shell que la creo.
Variable Persistente: Para crear una de estas es necesario introducirla en el archivo /etc/profile
pero en el caso de los derivados debian si revisamos un poco el script nos damos cuenta que
llama a otro archivo llamado /etc/bash.bashrc en el cual podemos crear las variables de entorno
persistentes.
Por eso no funciona llamar la variable declarada en /etc/profile desde un shell
2 Variables de usuario
Son las variables que se corren dentro de un script como en cualquier programa de computadora
C, C++ o Java
Variable global: Se puede usar desde otro script siempre y cuando sea llamado desde el script
que contiene la variable.
-Variable local:_ Solo tiene alcance en el script que la creo.
LC_MEASUREMENT=es_CO.UTF-8
SSH_CONNECTION=192.168.56.1 51806 192.168.56.101 22
LESSCLOSE=/usr/bin/lesspipe %s %s
LC_PAPER=es_CO.UTF-8
LC_MONETARY=es_CO.UTF-8
LANG=es_CO.UTF-8
LC_NAME=es_CO.UTF-8
XDG_SESSION_ID=5
USER=ubuntu
PWD=/home/ubuntu/shellCourse
HOME=/home/ubuntu
LC_CTYPE=en_US.UTF-8
SSH_CLIENT=192.168.56.1 51806 22
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
LC_ADDRESS=es_CO.UTF-8
LC_NUMERIC=es_CO.UTF-8
SSH_TTY=/dev/pts/0
MAIL=/var/mail/ubuntu
TERM=xterm-256color
SHELL=/bin/bash
SHLVL=1
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 1/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
LANGUAGE=es_CO:es
LC_TELEPHONE=es_CO.UTF-8
LOGNAME=ubuntu
XDG_RUNTIME_DIR=/run/user/1000
PATH=/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbi
n:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LC_IDENTIFICATION=es_CO.UTF-8
LESSOPEN=| /usr/bin/lesspipe %s
LC_TIME=es_CO.UTF-8
_=/usr/bin/printenv
OLDPWD=/home/ubuntu
ubuntu@uServer1:~/shellCourse$
01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:
*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
SSH_AUTH_SOCK=/tmp/ssh-apI6iYfLbv/agent.3521
COBBLER_SERVER=XXXXXXXX
MAIL=/var/spool/mail/root
PATH=/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/mssql-
tools/bin:/root/bin:/opt/mssql-tools/bin
PWD=/root
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=XXX.XXX.XXX.XXX 60301 XXX.XXX.XXX.XXX 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
HISTTIMEFORMAT=%F %T %Z
_=/usr/bin/env
Vale aclarar, que al hacer chmod +x … se le da permiso de Ejecucion a TODOS los usuarios del
sistema… Si queremos ser mas cautos y solo darle ejecucion, recomendaría usar: chmod
u+x nombredelarchivo.sh
la difeencia es la ‘u’… se taduce a user + x (ejecucion)
4:43 “Utilizamos el signo de sucre”. Hahaha muy buena profe. Como todo ecuatoriano del alma.
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 3/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
Es horrible el azul que usa en la terminal, no puedo leer lo que escribe. No pongan esos colores y
eviten dañarse los ojos.
La verdad es que esta configuración para pasar los valores de las variables
de usuario entre disintos programas me parece super interesante y práctica.
Magnifica la sessión Marco Antonio. Un saludo.
hola buenas tardes , para los que no tienen la iso de un ubuntu server la pueden descargar desde
el curso de administración de servidores linux
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 4/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
hola buenas tardes quien me dice como pongo el auto completado ya edite mi archivo de vim.rc
Gracias!
FIle 1
#!/usr/bin/env bash
# lec_2_file_a.sh file
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 5/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
File 2
#!/usr/bin/env bash
# lec_2_file_a.sh file
Si quieren declarar una variable de entorno o una variable en su shell bash la recomendación es
hacerlo siempre en mayúsculas.
VARIABLE=valor
Es importante no dejar espacios entre el nombre de la variable y su valor
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 6/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
sudoedit es preferible sobre sudo [editor]. En particular porque con sudoedit, nuestro
archivo .*rc es usado, en lugar de aquel que pertenezca al usuario que estamos personificando
(usualmente es root).
Podemos hacer que se tome en cuanta la variable de entorno sin reiniciar el SO, con ayuda del
comando source.
Con esta clase aclare una duda que tenía desde aproximadamente 4 meses que vi las clases de
introducción a la terminal.
buenas no me esta tomando la variable nombre y cuando la exporto no se resalta de color azul
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 7/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
export nombre
./prueba2.sh
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 8/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
Hay algo que no me queda claro con respecto a esta clase. Con este ejercicio que hemos
realizado, hemos conseguido imprimir el contenido del script2 en el script1con las variables del
mismo script1. Pero que pasaría si yo quisiera imprimir la variable del script1 en el script2??
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 9/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
GibsPM
· el año pasado
@josemdiaza ¿podrías explicar con más detalle tu duda? Esto para evitar darte un rollo que quizás no
te sirva 😃
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 10/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 11/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
Hola, estás ejecutando el segundo script desde el primero verdad? Como bien dice Alfonso, por favor
pon un screenshot para ver qué estás ejecutando y cómo.
Saludos!
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 12/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
Estas ejecutando el segundo .sh el cual solo te muestra lo que esta botando el comando echo pero es
el 1er .sh el que debes ejecutar ya que es el que va a exportar la variable nombre.
genial
Para los que tiene problema para guardar y les dice algo como “Modo solo lectura” “readonly”,
deben abrir el archivo etc/profile como super usuarios o sea: sudo vim etc/profile.
solo deben poner la contraseña y listo.
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 13/14
1/11/2020 Declaración de Variables y Alcance en Bash Shell en Curso de Programación en Bash Shell
Genial la explicación de las variables. Como tip de sugiere usar mayúsculas para nombres de
variables. En el ejemplo anterior seria OPCION y NOMBRE
https://platzi.com/clases/1468-bash-shell/16549-declaracion-de-variables-y-alcance-en-bash-shell/ 14/14