shell $ {}

 

$ {...} a de nombreuses utilisations dans les chaînes:

1, $ {était}

Limiter les variables.

Si un nom de variable A est la partie avant d'un autre nom de variable AB, alors si vous voulez obtenir la valeur de A lorsque AB est connecté, vous devez utiliser la qualification $ {var}.

S'il n'y a pas d'ambiguïté dans les noms de variables (c'est-à-dire les noms de variables indépendants), il n'y a pas de différence entre $ {var} et $ var.

var = "bonjour"

var_01 = "bonjour01"

echo $ var $ var_01 $ {var} _01

>>> bonjour bonjour01 bonjour_01

 

2, # $ {était}

Récupère la longueur de la variable var

var = "bonjour"

echo $ {# var}

>>> 5

 

3, $ {var} #

Supprimer le caractère (chaîne) en tête de la variable,

"#" Peut être suivi d'une chaîne littérale ou d'une expression régulière (correspondance paresseuse).

var = "bonjour"

echo $ {var # he}

>>> llo

var = "/ res_pos / chemin / de / quelque chose"

echo $ {var # /}

>>> res_pos / chemin / de / quelque chose # supprimer le premier "/"

echo $ {var # / * /}

>>> chemin / de / quelque chose # Supprimez la première chaîne correspondant à "/ * /", c'est-à-dire "/ res_pos /"

echo $ {var # res}

>>> / res_pos / chemin / de / quelque chose # res n'est pas dans l'en-tête, il ne sera pas supprimé

 

4, était $ {##}

Supprimer le caractère (chaîne) en tête de la variable,

Cependant, lorsque vous utilisez deux "##", la correspondance est gourmande (correspondance gourmande, c'est-à-dire autant de correspondances que possible).

echo $ {var ## / * /}

>>> quelque chose # Supprimez la première chaîne qui correspond à "/ * /", c'est-à-dire "/ res_pos / path / from /".

 

5, $ {%} était

Supprimer le caractère (chaîne) à la fin de la variable,

"%" Peut être une chaîne littérale ou une expression régulière (correspondance différée).

var = "bonjour"

echo $ {var% llo}

>>> il

var = "~ / res_pos / chemin / de / quelque chose"

écho $ {var% / *}

>>> ~ / res_pos / path / from # supprime le "/ quelque chose" de fin

 

6, $ {var %%}

Supprimer le caractère (chaîne) à la fin de la variable,

Seulement, lors de l'utilisation de 2 "%%", la correspondance est gourmande (correspondant à l'article 4)

var = "~ / res_pos / chemin / de / quelque chose"

écho $ {var% / *}

>>> ~ # Supprimez tout après le premier "/" (y compris "/"). Dans les correspondances gourmandes, "/ *" est toutes les chaînes après "/"

 

7, $ {était} ::

Semblable au concept de découpage de Python, prenez l'index de départ de la variable var,

Sous-chaîne de longueur spécifiée ($ {var: index: length}).

var = "~ / res_pos / chemin / de / quelque chose"

echo $ {var: 0: 5}

>>> ~ / res

echo $ {var: 1: 5}

>>> / res_ # Visible, l'index de la chaîne commence à 0

echo $ {var :: 5}

>>> ~ / res # Omettre "index", la valeur par défaut est de partir de 0

echo $ {var: 1:}

>>> / res_pos / chemin / de / quelque chose # Omettre "longueur", la longueur par défaut est tout

 

 

 

8, était $ {//}

Remplacement de chaîne.

Remplacez la chaîne A dans var par la chaîne B ($ {var / A / B}).

var = "bonjour le monde"

echo $ {var / bonjour / salut}

>>> hi world # La chaîne "hello" est remplacée par "hi"

echo $ {var / l / X}

>>> heXlo world # Remplacez le premier "l" par "X"

 

9, $ {était} ///

Remplacement de chaîne,

Identique au point 8, sauf que maintenant toutes les occurrences de la chaîne A sont remplacées par la chaîne B ($ {var // A / B}).

var = "bonjour le monde"

echo $ {var // l / X}

>>> heXXo worXd # Tous les "l" sont remplacés par "X"


10, $ {var / # /}

Remplacez la chaîne A en tête de la chaîne par la chaîne B,

($ {Var / # A / B}), contrairement au point 8, seule la première chaîne A est remplacée ici.

var = "Bonjour tout le monde. Bonjour bébé."

écho $ {var // h / H}

>>> Bonjour tout le monde. Bonjour bébé. # Remplacez tous les "h" par "H"

écho $ {var / # h / H}

>>> Bonjour tout le monde. Bonjour bébé. # Remplacez "h" dans l'en-tête par "H"

echo $ {var / e / E}

>>> hEllo world. bonjour bébé. # Remplace la première occurrence de "e" par "E"

echo $ {var / # e / E}

>>> Bonjour tout le monde. Bonjour bébé. # Le premier caractère n'est pas "e", donc il n'y a pas de remplacement, et il est sorti tel quel.

 

11, était $ {/% /}

Remplacez la chaîne A à la fin de la chaîne par la chaîne B,

($ {Var /% A / B}), similaire au point 10, sauf que cela concerne la fin de la chaîne.

var = "bonjour bonjour"

écho $ {var /% o / END}

>>> bonjour hellEND # Remplacez le caractère de fin "o" par "END".
————————————————
Déclaration de droit d'auteur: Cet article est un article original du blogueur du CSDN "Lao Like", suivant l'accord de droit d'auteur CC 4.0 BY-SA. Veuillez joindre le lien source d'origine pour la réimpression Et cette déclaration.
Lien d'origine: https://blog.csdn.net/lihonghai2392/article/details/77868445

Je suppose que tu aimes

Origine www.cnblogs.com/yangxinrui/p/12703765.html
conseillé
Classement