shell $ {}

 

$ {...} tiene muchos usos en cadenas:

1, $ {} fue

Límite de variables.

Si un nombre de variable A es la parte delantera de otro nombre de variable AB, entonces si desea obtener el valor de A cuando AB está conectado, debe usar la calificación $ {var}.

Si no hay ambigüedad en los nombres de variables (es decir, nombres de variables independientes), no hay diferencia entre $ {var} y $ var.

var = "hola"

var_01 = "hello01"

echo $ var $ var_01 $ {var} _01

>>> hola hola01 hola_01

 

2, # $ {} fue

Obtenga la longitud de la variable var

var = "hola"

echo $ {# var}

>>> 5

 

3, $ {var #}

Eliminar el carácter (cadena) en la cabecera de la variable,

"#" Puede ir seguido de una cadena literal o una expresión regular (coincidencia diferida).

var = "hola"

echo ${var#he}

>>> llo

var = "/ res_pos / ruta / desde / algo"

echo $ {var # /}

>>> res_pos / path / from / something # borra el primer "/"

echo $ {var # / * /}

>>> ruta / desde / algo # Eliminar la primera cadena que coincida con "/ * /", es decir, "/ res_pos /"

echo $ {var # res}

>>> / res_pos / path / from / something # res no está en el encabezado, no se eliminará

 

4, fue de $ {##}

Eliminar el carácter (cadena) en la cabecera de la variable,

Sin embargo, cuando se usan dos "##", la coincidencia es codiciosa (coincidencia codiciosa, es decir, tantas coincidencias como sea posible).

echo $ {var ## / * /}

>>> algo # Eliminar la primera cadena que coincida con "/ * /", es decir, "/ res_pos / path / from /".

 

5, $ {}% era

Eliminar el carácter (cadena) al final de la variable,

"%" Puede ser una cadena literal o una expresión regular (coincidencia diferida).

var = "hola"

echo ${var%llo}

>>> él

var = "~ / res_pos / path / from / something"

echo $ {var% / *}

>>> ~ / res_pos / path / from # borra el "/ something" final

 

6, $ {var} %%

Eliminar el carácter (cadena) al final de la variable,

Solo, cuando se usa 2 "%%", la coincidencia es codiciosa (correspondiente al Artículo 4)

var = "~ / res_pos / path / from / something"

echo $ {var% / *}

>>> ~ # Eliminar todo después de la primera "/" (incluyendo "/"). En la codiciosa coincidencia, "/ *" son todas las cadenas después de "/"

 

7, $ {} fue ::

Similar al concepto de corte de Python, tome el índice inicial de la variable var,

Subcadena de longitud especificada ($ {var: index: length}).

var = "~ / res_pos / path / from / something"

echo $ {var: 0: 5}

>>> ~ / res

echo $ {var: 1: 5}

>>> / res_ # Visible, el índice de la cadena comienza desde 0

echo $ {var :: 5}

>>> ~ / res # Omitir "índice", el valor predeterminado es comenzar desde 0

echo $ {var: 1:}

>>> / res_pos / path / from / something # Omitir "longitud", la longitud predeterminada es todo

 

 

 

8, fue $ {} //

Reemplazo de cuerdas.

Reemplace la cadena A en var con la cadena B ($ {var / A / B}).

var = "hola mundo"

echo $ {var / hola / hola}

>>> hola mundo # La cadena "hola" se reemplaza por "hola"

echo $ {var / l / X}

>>> heXlo world # Reemplace la primera "l" con "X"

 

9, $ {} fue ///

Reemplazo de cuerda,

Igual que el punto 8, excepto que ahora todas las ocurrencias de la cadena A se reemplazan con la cadena B ($ {var // A / B}).

var = "hola mundo"

echo $ {var // l / X}

>>> heXXo worXd # Todas "l" se reemplazan con "X"


10, $ {var / # /}

Reemplace la cadena A en la cabeza de la cadena con la cadena B,

($ {Var / # A / B}), a diferencia del punto 8, aquí solo se reemplaza la primera cadena A.

var = "hola mundo. hola bebé".

echo $ {var // h / H}

>>> Hola mundo. Hola bebé. # Reemplace todas las "h" con "H"

echo $ {var / # h / H}

>>> Hola mundo. Hola bebé. # Reemplaza "h" en el encabezado con "H"

echo $ {var / e / E}

>>> hola mundo. hola bebé. # Reemplaza la primera aparición de "e" con "E"

echo $ {var / # e / E}

>>> hello world. hello baby. # El primer carácter no es "e", por lo que no hay reemplazo y se muestra como está.

 

11, fue de $ {/% /}

Reemplace la cadena A al final de la cadena con la cadena B,

($ {Var /% A / B}), similar al punto 10, excepto que se trata del final de la cadena.

var = "hola hola"

echo $ {var /% o / END}

>>> hello hellEND # Reemplace el carácter final "o" con "END".
————————————————
Declaración de derechos de autor: Este artículo es un artículo original del blogger de CSDN "Lao Like", siguiendo el acuerdo de copyright CC 4.0 BY-SA. Adjunte el enlace original para reimprimir Y esta afirmación.
Enlace original: https://blog.csdn.net/lihonghai2392/article/details/77868445

Supongo que te gusta

Origin www.cnblogs.com/yangxinrui/p/12703765.html
Recomendado
Clasificación