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. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
0 Hrs
2 Min
20 Seg
Curso de Programación en Bash Shell

Curso de Programación en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Declaración de Variables y Alcance en Bash Shell

6/43
Recursos

Aportes 58

Preguntas 13

Ordenar por:

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

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.

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.

Podemos hacer que se tome en cuanta la variable de entorno sin reiniciar el SO, con ayuda del comando source.

Para visualizar las variables de entorno se hace printenv

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
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/sbin:/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$ 

Una buena práctica es declarar las variables en mayúsculas:
OPCION=0
NOMBRE=“Marco”

Utilizar espacios de esta manera (como personalmente hago cuando programo) no es admitido para crear una variable, porque Bash interpretará “opcion” como un comando

opcion = 0

Entonces la manera correcta es:

opcion=0

4:43 “Utilizamos el signo de sucre”. Hahaha muy buena profe. Como todo ecuatoriano del alma.

Shortcuts para moverse en comandos:

  • ctrl + a [Ir al Inicio del comando]
  • ctrl + e [Ir al Final del comando]

Para hacer saltos de linea en BASH se hace asi

echo -e "Opcion: $opcion\nNombre: $nombre"

Para los que deseen cambiar los colores de los comentarios del editor VIM, una opción es agregar la siguiente línea en el archivo “.vimrc”

colo desert

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

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.

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

El video està caìdo.

Las variables de entorno son variables definidas para el shell actual y heredadas por cualquier shell o proceso secundario. Las variables de entorno se utilizan para transmitir información a procesos que se producen desde el shell.
Variables frecuentes de entorno y de shell
Algunas variables de entorno y de shell son muy útiles y se utilizan con bastante frecuencia. Aquí hay algunas variables frecuentes de entorno con las que se encontrará:

SHELL: Describe el shell que interpretará cualquier comando que ingrese. En la mayoría de los casos, será bash de forma predeterminada, pero se pueden establecer otros valores si prefiere otras opciones.
TERM: Especifica el tipo de terminal a emular cuando se ejecuta el shell. Se pueden emular diferentes terminales de hardware para diferentes requisitos de funcionamiento. Sin embargo, generalmente no tendrá que preocuparse por esto.
USER: El usuario que inició sesión actualmente.
PWD: El directorio actual de trabajo.
OLDPWD: El directorio anterior de trabajo. Esto se mantiene en el shell para volver a su directorio anterior ejecutando cd -.
LS_COLORS: Define los códigos de color que se utilizan para añadir de forma opcional un resultado de color al comando ls. Esto se utiliza para distinguir diferentes tipos de archivos y proporcionar más información al usuario de forma rápida.
MAIL: La ruta al buzón del usuario actual.
PATH: Una lista de directorios que el sistema comprobará cuando busque comandos. Cuando un usuario escriba un comando, el sistema comprobará los directorios en este orden para el ejecutable.
LANG: Las configuraciones actuales de idioma y localización, incluida la codificación de caracteres.
HOME: El directorio principal del usuario actual.
_: El comando más reciente ejecutado anteriormente.
Además de estas variables de entorno, algunas variables de shell que aparecerán a menudo son:

BASHOPTS: La lista de opciones que se utilizaron cuando se ejecutó bash. Esto puede ser útil para averiguar si el entorno de shell funcionará de la forma que usted desea.
BASH_VERSION: La versión de bash que se está ejecutando, en un formato que los usuarios puedan leer.
BASH_VERSINFO: La versión de bash, en un resultado que un equipo pueda leer.
COLUMNS: El número de ancho de columnas que se utilizan para generar el resultado en la pantalla.
DIRSTACK: La pila de directorios que están disponibles con los comandos pushd y popd.
HISTFILESIZE: La cantidad de líneas del historial de comandos que se almancenan en un archivo.
HISTSIZE: La cantidad de líneas del historial de comandos que se permiten en la memoria.
HOSTNAME: El nombre de host de la computadora en este momento.
IFS: El separador de campo interno para separar las entradas en la línea de comandos. De forma predeterminada, es un espacio.
PS1: La definición de la entrada del comando principal. Esto se utiliza para definir cómo se ve la entrada de la línea de comandos cuando se inicia una sesión de shell. PS2 se utiliza para declarar las entradas de la línea de comandos secundarias para cuando un comando se extiende a varias líneas.
SHELLOPTS: Opciones de shell que se pueden configurar con la opción set.
UID: El UID del usuario actual.

Hola!!! Me pasa, y veo que en vídeo del profe también, que si ejecutas el script `2_variables.sh` aparece el `echo "Opción: 0 y Nombre: Marco`, pero además, en esa misma ejecución, corre el script `2_variables_2.sh` y aparece el `echo "Opción nombre pasada del script anterior: Marco`. El problema es que cuando ejecutas el script `2_variables_2.sh,` por si solo, no obtiene el valor de la variable "exportada". No entiendo si así es como debía ser el ejemplo, pero no me hace sentido que exportes una variable y no la puedas ver en el script donde la importas. Gracias a una respuesta de Joseph Manuel Gavidia Inga que hizo a un comentario, menciona que se deben ejecutar ambos scripts en una misma instancia con ayuda del comando `source`. ```txt source ./2_variables.sh ./2_variables_2.sh ``` Con eso, el segundo script ya puede obtener el valor de la variable del primero. Que aún así, supongo que debe haber otra forma para que sea más funcional y no dependas de ejecutar el primer script para que funcione el segundo.

En vez de:

export nombre
export edad

Intentar:

export nombre edad 
Honestamente la manera de explicar de este profesor no es tan entendible como los otros. Llevo 3 años con platzi y es la primera vez que pasa.
Hola chicos noté que en esta clase de introdución a las variables de entorno el profesor mostró como hacerlo al modificar el archivo `/etc/profile` lo cual está bien hacer con el ánimo de aprender. Sin embargo si uno quiere ampliar este fichero lo mejor es no tocar directamente `/etc/profile` crear un nuevo archivo en la ruta `/etc/profile.d/` Para el ejemplo concreto de la clase se haria de la siguiente manera Ejecutan `sudo vim etc/profile.d/my_env_variable.sh` y en el archivo escribir ```js # Variable de entorno SO COURSE_NAME="PROGRAMACIÓN BASH" export COURSE_NAME ```Guardan el archivo y habran definido una variable de entorno correctamente. Tengan en cuenta que en cualquier caso si quieren ver el resultado de la variable tendrinan que volver a arrancar el sistema para ello usan el comando `sudo reboot` y luego si pueden inspecionar la variable con `echo $COURSE_NAME` ¡Feliz de aprender con ustedes!

Mejor usen zsh, para poner color en la terminal
tambien instalen Plug y temas para vim para mejorar la visualizacion,claro esto en local.
Por que en un ambiente pro, no creo que te animeso se deba cambiarlo.

Ya hice todo y no se exporta la variable, cuando ejecuto el segundo archivo no me aparece la variable, y cuando ejecuto el primero, aparece lo del primero y lo que se supone debe aparecerme al ejecutarel segundo script.
ya me desilucione de este curso tal vez encuentre mejores en youtube.

# !/bin/bash
# Programa para revisar la declaración de variables
# Autor: Marco Toscano Freire - @martosfre

opcion=0
nombre=Marco

echo "Opción: $opcion y Nombre: $nombre"

# Exportar la variable nombre para que este disponible a los demás procesos
export nombre

# Llamar al siguiente script para recuperar la variable
./2_variables_2.sh```

Linux es CASE sensitive

las variables de entorno se encuentran en el directorio -> /etc/profile
recuerda que para editar este archivo necesitas usar sudo

sudo vim /etc/profile

Volví a editar el archivo en /etc/profile y comenté la variable
o lo que se añadió en la práctica del vídeo y el problema se solucionó
es decir, ya no manda le error que comenté abajo, sin embargo, ¿en qué afecta para las prácticas posteriores?

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

hola buenas tardes quien me dice como pongo el auto completado ya edite mi archivo de vim.rc

Dice que el video no esta disponible…

FIle 1

#!/usr/bin/env bash
# lec_2_file_a.sh file

# !/bin/bash it is shown in the course
# chmod +x name_file //to add execution permission
# cp file_name_original new_file_name //to copy a file

#To define variables
myOption=0
myName=Marco

# $variable to obtain the value of a variable
echo "Option: $myOption and Name:$myName"

#to export the variable to the so level
export myName

#call other script
./lec_2_file_b.sh

File 2

#!/usr/bin/env bash
# lec_2_file_a.sh file

# !/bin/bash it is shown in the course

#variable taken from the so level variables
echo "Field taken from the first script $myName"

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).

En \*\*Bash\*\* (el \*\*Bourne Again Shell\*\*), la declaración y el alcance de variables tienen un comportamiento particular. Aquí te explico cómo funcionan: \### Declaración de Variables 1\. \*\*Declaración Básica\*\* Para declarar una variable en Bash, simplemente asigna un valor a un nombre de variable sin espacios alrededor del signo igual (`=`). Por ejemplo: ```bash variable="valor" ``` \- No se usan espacios antes y después del signo igual (`=`). \- Las variables en Bash son sensibles a mayúsculas y minúsculas (`Variable` y `variable` son distintas). 2\. \*\*Variables de Entorno\*\* Para que una variable esté disponible en otros procesos o subprocesos (es decir, como variable de entorno), debes exportarla usando el comando `export`: ```bash export variable="valor" ``` \### Alcance de Variables 1\. \*\*Alcance Local\*\* Las variables definidas en un script o en una sesión de shell son locales a esa sesión. Por ejemplo, si defines una variable dentro de una función, esa variable solo es accesible dentro de esa función: ```bash function mi\_funcion { local variable\_local="valor" echo "$variable\_local" # Esto funciona } echo "$variable\_local" # Esto no funcionará, ya que variable\_local no está definida fuera de la función ``` \- \*\*`local`\*\*: La palabra clave `local` se usa dentro de funciones para declarar variables locales. 2\. \*\*Alcance Global\*\* Las variables que no están marcadas como locales y se declaran fuera de funciones son globales y están disponibles en todo el script y en subprocesos si se exportan: ```bash variable\_global="valor" function mi\_funcion { echo "$variable\_global" # Esto funciona porque variable\_global es global } mi\_funcion echo "$variable\_global" # También funciona aquí ``` 3\. \*\*Alcance en Subprocesos\*\* Si exportas una variable, estará disponible en cualquier subproceso que inicie el shell. Por ejemplo: ```bash export variable="valor" (echo "$variable") # Imprime "valor" en el subproceso ``` \- Los subprocesos heredan las variables de su proceso padre, pero los cambios realizados en el subproceso no afectan al proceso padre. 4\. \*\*Variables en Scripts\*\* Cuando ejecutas un script, las variables definidas dentro del script solo afectan al script y a sus subprocesos. No afectan a tu sesión de shell actual a menos que uses `source` para ejecutar el script en el entorno actual: ```bash ./mi\_script.sh # Ejecuta el script en un subshell, variables no afectan al shell actual source mi\_script.sh # Ejecuta el script en el entorno actual, variables afectan al shell actual ``` \### Ejemplos Prácticos 1\. \*\*Declarar y Usar Variables\*\* ```bash \#!/bin/bash mensaje="Hola, Mundo!" echo "$mensaje" ``` 2\. \*\*Variable de Entorno\*\* ```bash \#!/bin/bash export PATH="/usr/local/bin:$PATH" ``` 3\. \*\*Variable Local en Función\*\* ```bash \#!/bin/bash function saludo { local mensaje="Hola, desde la función!" echo "$mensaje" } saludo echo "$mensaje" # No mostrará nada porque mensaje es local a la función ``` Estos conceptos te ayudarán a entender cómo manejar variables y su alcance en \*\*Bash\*\*. Si tienes alguna pregunta adicional o necesitas más detalles sobre algún aspecto, ¡déjamelo saber!
jesusvergara@MacBook-Air-de-Jesus shellcourse % ./2\_variables.sh Opción: 0 and name: jesus jesusvergara@MacBook-Air-de-Jesus shellcourse % i did it, look dad, i did it!
Pregunta: Si entiendo bien la palabra "Marco" tendria que aparecer cuando ejecuto el segundo script 2\_variables\_2.sh? porque creo queo funciona.

Puede ocurrir que tal vez al al abrir un manual o un archivo de texto grande no te deje manipular con las flechas puedes usar:

  • Ctrl + k = para subir
  • Ctrl + m = para bajar

Alguien sabe quién es la chica del inicio? no la había visto 😃 jaja. Por cierto, jalá ya actualicen el curso de Administración de Servidores de Linux, péeesimo profesor

El comando “env” muestra las variables de entorno sin necesidad de editar el archivo profile

<code> env

Y esto es lo que muestra en la terminal

<code> SHELL=/bin/bash
SESSION_MANAGER=local/leoangel-HP-Laptop-15-ef2xxx:@/tmp/.ICE-unix/1938,unix/leoangel-HP-Laptop-15-ef2xxx:/tmp/.ICE-unix/1938
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
SSH_AGENT_LAUNCHER=gnome-keyring
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LANGUAGE=es_CO:es
GNOME_SHELL_SESSION_MODE=ubuntu
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XMODIFIERS=@im=ibus
DESKTOP_SESSION=ubuntu
GTK_MODULES=gail:atk-bridge
PWD=/home/leoangel/Documentos/platzi
LOGNAME=leoangel
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=wayland
SYSTEMD_EXEC_PID=2174
XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.UXUZT1
HOME=/home/leoangel
USERNAME=leoangel
IM_CONFIG_PHASE=1
LANG=es_CO.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=ubuntu:GNOME
VTE_VERSION=6800
WAYLAND_DISPLAY=wayland-0
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/d562e3db_0d34_4d34_8d4a_25e696913c2a
GNOME_SETUP_DISPLAY=:1
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
LESSOPEN=| /usr/bin/lesspipe %s
USER=leoangel
GNOME_TERMINAL_SERVICE=:1.120
DISPLAY=:0
SHLVL=1
QT_IM_MODULE=ibus
XDG_RUNTIME_DIR=/run/user/1000
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
GDMSESSION=ubuntu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
OLDPWD=/home/leoangel/Documentos
_=/usr/bin/env

porque cuando ejecuto el segundo archivo llamado 2_varibles_2.sh
no me sale el nombre ?

“Opcion de sucre” min 4:48, como te mataron mi Ecuador. Entiendase como sucre la moneda de Ecuador antes de la dolarización que tambien como la del simbolo del dolar $

Otro lugar para colocar las variables de entorno para el sistema es /etc/environment

Excelente clase

Muy buena clase y explicación del profe.

Las variables de entorno se encuentran en:

vim /etc/profile

Para ejecutar variables locales (para un programa especifico), será declarandolas en un archivo, usar el comando echo y entrar al archivo usando ./

Corríganme si me equivoco;
Yo veo que los scripts de shell son como cualquier script donde escribes lo que quieres que haga el intérprete que en este caso es el shell (bash, o zsh o lo que tengas) son las mismas instrucciones que escribirías si quieres hacer algo desde la terminal.
Cuando corres un script de shell es como si el bash que que lo lanzó la ejecución tuviera una shell hija que es la que lo ejecuta y esta shell hija puede ver todas las variable globales y las que se hayan exportado con el comando export desde alguna shell padre. Entonces en este ejemplo ejecuta el script 2_variable.sh lo que produce una shell B que cuando llega a la utima linea lanza una shell C para ejecutar 2_variable_2.sh que tiene acceso a la variable nombre porque la shell B la exportó.

Es interesante porque desde cualquier shell tienes acceso a las variables globales por lo que las podrías utilizar sin siquiera declararlas desde cualquier script que hagas.

Muy interesante, no habia manejado los alcance de las variables

Con esta clase aclare una duda que tenía desde aproximadamente 4 meses que vi las clases de introducción a la terminal.

muy bueno estoy aprendiendo mucho es emocionate

buenas no me esta tomando la variable nombre y cuando la exporto no se resalta de color azul

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 script1 con las variables del mismo script1. Pero que pasaría si yo quisiera imprimir la variable del script1 en el script2??

genial

Listo, aprendiendo variables

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.

En el minuto 6 de la clase 6, al hacer (cp 2_variables.sh 2_variables_2.sh ) y luego ls, a mi me sale un archivo extra que es: 2_variables.sh~ .¿Alguien sabe cuál es la razón?

Enfocándonos en la programación Bash, existen dos tipos de variables en un sistema operativo; esto, sin importar de qué sistema operativo estemos hablando, pues sucede así en todos.

  • Variables de usuario
  • Variables de sistema operativo (variables de entorno)

Las variables de entorno o variables del sistema operativo se configuran en el archivo /etc/profile.

La declaración de una variable se lleva a cabo definiendo primeramente el nombre de la variable, seguido del signo de asignación (=) y seguido del valor, todo lo anterior sin espacios de por medio. Por ejemplo:

  • option=59
  • name=Juan
  • name=Juan Cajamarca
  • name="Pedro Gonzales"
    Estas variables, están siendo declaradas dentro de un script, y sólo existirán dentro de ese script. Si deseamos que la variable tenga un alcance hacia otro script, debemos exportarla y realizar la ejecución del otro script desde el principal. La exportación de la variable la logramos de dos maneras:
name=Juan
export name
export num_options=2

Tuve problemas para usar variables con un string de más de dos palabras, y para poder hacerlo tuve que encerrarlos en ‘’, espero le sirva si alguien más tuvo el problema ;3

Que clase tan genial, ahora entiendo tantas cosas de manera tan simple!!

Ahora que quiero entrar a mi perfil en Ubuntu cuando ingreso la contraseña
me manda un error más o menos así: /etc/profile: (un número que no recuerdo):bash:

Corregir lo más pronto posible.

Supongo que se debe a la variable que se ingresó, si es así, ¿qué debería hacer para que a pesar
de ingresar una nueva variable de entorno mi sistema operativo no se vea afectado?

saludos y muy buena clase.