GNU/Linux >> Tutoriales Linux >  >> Linux

Símbolo de acento grave (`) en Linux Shell Scripting

Una de las características más útiles de los scripts de shell es el carácter de comilla invertida, generalmente llamado acento grave (`) en el mundo de Linux. Tenga cuidado:este no es el carácter normal de comillas simples que está acostumbrado a usar para las cadenas. Debido a que no se usa con mucha frecuencia fuera de los scripts de shell, es posible que ni siquiera sepa dónde encontrarlo en su teclado. Debería familiarizarse con él porque es un componente crucial de muchos scripts de shell.

Sugerencia :En un teclado estadounidense, normalmente se encuentra en la misma tecla que el símbolo de tilde (∼).

El acento grave le permite asignar la salida de un comando de shell a una variable. Si bien esto no parece mucho, es un componente importante en la programación de scripts. Debe rodear todo el comando de la línea de comando con caracteres de acento grave:

# testing=`date`

El shell ejecuta el comando dentro de los acentos graves y asigna la salida a la variable testing. Aquí hay un ejemplo de cómo crear una variable usando la salida de un comando de shell normal:

$ cat myscript.sh
#!/bin/bash
# using the backtick character
testing=`date`
echo "The date and time are: $testing"
$

La variable testing recibe el resultado del comando date y se usa en la instrucción echo para mostrarlo. Ejecutar el script de shell produce el siguiente resultado:

$ chmod u+x myscript.sh
$ ./myscript.sh
The date and time are: Mon Jul 21 09:13:42 IST 2014
$

Eso no es tan emocionante en este ejemplo (podría simplemente poner el comando en la declaración de eco), pero una vez que captura el resultado del comando en una variable, puede hacer cualquier cosa con él.

Aquí hay un ejemplo popular de cómo se usa el acento grave para capturar la fecha actual y usarla para crear un nombre de archivo único en una secuencia de comandos:

#!/bin/bash
# copy the /usr/bin directory listing to a log file
today=`date +%y%m%d`
ls /usr/bin -al > /tmp/log.$today

A la variable hoy se le asigna la salida del comando de fecha formateada. Esta es una técnica común utilizada para extraer información de fecha para nombres de archivo de registro. El formato +%y%m%d le indica al comando de fecha que muestre la fecha como un año, mes y día de dos dígitos:

$ date +%y%m%d
140721
$

El script asigna el valor a una variable, que luego se usa como parte de un nombre de archivo. El archivo en sí contiene la salida redirigida de una lista de directorios. Después de ejecutar el script, debería ver un nuevo archivo en el directorio /tmp:

$ ls -l /tmp/log.140721 
-rw-rw-r-- 1 geek geek 116755 Jul 21 09:21 /tmp/log.140721

El archivo de registro aparece en el directorio utilizando el valor de la variable $today como parte del nombre del archivo. El contenido del archivo de registro es la lista de directorios del directorio /usr/bin. Si el script se ejecuta al día siguiente, el nombre del archivo de registro será log.140722, creando así un nuevo archivo para el nuevo día.


Linux
  1. 8 ejemplos de comandos de fecha rápida en Linux

  2. 10 ejemplos prácticos de comandos de Linux nm

  3. Ejemplos de comandos de fecha en Linux

  4. Cambiar shell predeterminado en Linux

  5. Linux:establezca la fecha a través de la línea de comando

Explicación del comando fuente en Linux

7 ejemplos de comando de fecha en Linux

Comando de exportación en Linux explicado

¿Qué es Shebang en Linux Shell Scripting?

Ejemplos de comandos de fecha de Linux

12 ejemplos útiles de comandos de fecha de Linux