$ {...} 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