Posted by q3it on sábado, marzo 11, 2023 in Linux
Hoy voy a hablar sobre cadenas de texto, variables y comandos. Las cadenas son algo que nosotros especificamos y que no va a cambiar su valor, cuando las especificamos es un valor fijo, por ejemplo, un directorio, una palabra, una frase entre comillas simples o dobles. Si nosotros queremos un valor que vaya a cambiar entonces vamos a tener que utilizar variables, estas variables se definen con un dólar y hay algunas variables que se asocian directamente cuando nosotros entramos en el sistema. Por ejemplo, $PWD que nos mostrará en pantalla el directorio actual. Si nosotros cambiamos de directorio al menos alguna vez la variable $OLDPWD nos dirá el directorio anterior. Nuestro directorio de usuarios sabíamos que podíamos utilizar virgulilla pero vamos a poder utilizar la variable $HOME en mayúsculas siempre.
El usuario que va a ejecutar el comando y que con el que nosotros hemos entrado en el sistema, si no nos hemos cambiado pues será $USER, nosotros también podríamos definir nuestras variables, por ejemplo, DIR "el nombre de la variable lo definimos nosotros" aquí no especificamos el dólar, el dólar sólo es para visualizarlo cuando queremos acceder a su valor. Cuando nosotros la vayamos a definir simplemente ponemos la palabra que queremos que sea el nombre de la variable, un igual pegado, y luego el valor DIR="etc" y con ls lo que ahora es un listar el directorio /etc. Luego alguien o tú mismo puedes cambiar el valor de esta variable y tú ejecutas el comando siempre con la variable.
En la anterior imagen vemos como listamos el contenido de /etc, pero lo hicimos con el parámetro -ld para mostrar solo una línea y, vemos que ahora estamos haciendo un ls la variable. Nosotros podemos cambiarle el valor a la variable y volverla a listar, ahora vemos que lista otro directorio.
Ahora vemos la funcionalidad de utilizar las variables. Si nosotros queremos acceder a estas variables predefinidas en el sistema, vamos a ejecutar el comando env y veremos un montón de variables.
Pero por ejemplo, podemos ver cuál es nuestro directorio actual PWD, si yo cambio al directorio /Documentos y ejecutó otra vez env veremos que mi directorio actual PWD es el directorio en el que estoy actualmente.
Si queremos ver el valor de una variable sin tener que ejecutar el comando ls tendremos que utilizar el comando echo, y lo que hace es mostrar los argumentos que nosotros le pasemos a la salida estándar. Nosotros podemos cambiar este comportamiento de la salida estándar, pues podemos redirigir el valor a un fichero, pero por defecto se nos mostrará en pantalla. Si hago comando eco Hola se me mostrará en pantalla Hola. No hace falta poner comillas pero podríamos ponérselas. Nosotros sólo le estamos pasando un argumento y nos muestra ese argumento sin las comillas. Por ejemplo, echo $PWD nos mostrará el valor de esta variable y también podemos unir textos con variables.
Cuando hablé en post anteriores de los caracteres especiales, dije que había una diferencia entre las comillas dobles y las comillas simples, con las comillas simples lo que hará el sistema es que, aunque nosotros pongamos una variable dentro esa cadena de texto el no nos devolverá el valor, sino que se va a mostrar tal cual. Y con las comillas dobles si se mostrará el valor de la variable.