GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar expansiones de shell para generar tokens de shell en Linux

Expansiones de caparazón

Mientras se trabaja en un caparazón, los conjuntos o rangos de información a menudo se repiten. La expansión de shell ayuda a generar una gran cantidad de tokens de shell utilizando sintaxis compactas. La expansión se realiza en la línea de comando después de que el comando se divida en tokens. De las muchas expansiones disponibles, el nombre de la ruta, el nombre del archivo y las expansiones de llaves se explican a continuación.

Expansión de nombre de ruta

La expansión del nombre de ruta simplifica los cambios de ubicación dentro de la jerarquía de directorios. La expansión del nombre de la ruta incluye:
– La tilde (~) carácter, que representa el nombre de ruta absoluto del directorio de inicio del usuario actual
– El carácter de tilde (~) con un nombre de usuario, que representa el directorio de inicio del usuario especificado
– El guión ( -) carácter, que representa el directorio de trabajo anterior

Nota :El carácter de tilde (~) está disponible en todos los shells excepto en el shell Bourne.

Considere los siguientes ejemplos para cada uno de los caracteres de expansión:
1. Cambie los directorios a dir1 usando el carácter de tilde (~).

$ cd ~/dir1
$ pwd 
/home/user/dir1/

2. Cambie de directorio al directorio de inicio del usuario usando el carácter de tilde (~) seguido de un nombre de usuario.

$ cd ~user
$ pwd 
/home/user

3. Cambie entre los directorios user y tmp utilizando el carácter de expansión –.

$ cd
$ pwd
/home/user
$ cd /tmp
$ pwd
/tmp
$ cd -
/export/home/user1
$ cd -
/tmp

Expansión de nombre de archivo

Las expansiones de nombre de archivo son:

  • El carácter asterisco (*)
  • El signo de interrogación (?)
  • Los caracteres de corchetes ([])

1. Asterisco (*) Carácter

El carácter de expansión de asterisco (*) también se denomina carácter comodín y representa cero o más caracteres, excepto el punto inicial (.) de un archivo oculto. Por ejemplo, enumere todos los archivos y directorios que comiencen con la letra f seguida de cero o más caracteres.

$ ls f*
file.1 file.2 file.3 file4

Otro ejemplo es listar todos los archivos y directorios que terminan con el número 3, precedido por cero o más caracteres.

$ ls *3
file.3 file3

2. Signo de interrogación (?) Carácter

El carácter de signo de interrogación (?) también se denomina carácter comodín y representa cualquier carácter individual excepto el punto inicial (.) de un archivo oculto. Por ejemplo, enumere todos los archivos y directorios que comienzan con la cadena dir seguidos de otro carácter.

 $ ls dir?
dir1:
coffees fruit trees
dir2:
beans notes recipes

Si ningún archivo coincide con una entrada que usa el signo de interrogación (?), aparece un mensaje de error.

$ ls z?
z?: No such file or directory

3. Corchetes ([]) Caracteres

El corchete ([] ) los caracteres representan un conjunto o rango de caracteres para una sola posición de carácter.
– Un conjunto de caracteres es cualquier cantidad de caracteres específicos, por ejemplo, [acb]. Los caracteres de un conjunto no necesariamente tienen que estar en ningún orden. Por ejemplo, [abc] es lo mismo que [cab].
– Un rango de caracteres es una serie de caracteres ordenados.

  • Un rango enumera el primer carácter seguido de un guión (-) y luego el último carácter, por ejemplo, [a–z] o [0–9].
  • Al especificar un rango, organice los caracteres en el orden en que desea que aparezcan en la salida.
  • Por ejemplo, utilice [A–Z] o [a–z] para buscar cualquier carácter alfabético en mayúsculas o minúsculas, respectivamente.

Por ejemplo, enumere todos los archivos y directorios que comienzan con las letras de la a a la f.

$ ls [a-f]*
brands    dante_1    file.1    file2    file4 
celery    feathers    file1    file.3   fruit 
dante    feathers_6    file.2    file3     fruit2

Por ejemplo, enumere todos los archivos y directorios que comienzan con las letras f o p.

$ ls [fp]*
perm    file.1    file.2    file.3    file4    fruit2
feathers_6   file1    file2     file3     fruit

La expansión Brace

La expansión de llaves {} es un mecanismo mediante el cual se pueden generar cadenas arbitrarias. Los patrones que se expandirán con llaves toman la forma de un preámbulo opcional, seguido de una serie de cadenas separadas por comas o una expresión de secuencia entre un par de llaves, seguida de una posdata opcional. El preámbulo "a" se antepone a cada cadena contenida entre las llaves, y la posdata "e" se agrega a cada cadena resultante, expandiéndose de izquierda a derecha.

$ echo a{d,c,b}e
ade ace abe


Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar rsync avanzado para grandes copias de seguridad de Linux

  4. Cómo usar systemd-nspawn para la recuperación del sistema Linux

  5. Cómo usar el comando Su en Linux

Cómo uso Cockpit para la administración del servidor Linux de mi hogar

Cómo comprobar los puertos de escucha en Linux (Puertos en uso)

Cómo usar el comando Declare en Linux Bash Shell

Cómo instalar y usar ZSH Shell en Linux

Cómo instalar y usar Nu Shell en Linux

¿Cómo usar Linux Bash Shell dentro de Windows 10?