Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue130:labolinux2 [2018/02/27 15:54] – auntiee | issue130:labolinux2 [2018/03/01 16:26] (Version actuelle) – andre_domenech |
---|
Let's not beat about the bush any longer. These examples are hopefully self-explanatory. There's plenty more reading online such as on the GNU site (https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html), and the Bash Hackers Wiki (http://wiki.bash-hackers.org/syntax/pe). The following examples all start simply with the command you would type, and underneath is what your shell will output (in most cases, version dependent) having hit the Enter key. Integrate these snippets into your scripts in any way that you see fit. ** | Let's not beat about the bush any longer. These examples are hopefully self-explanatory. There's plenty more reading online such as on the GNU site (https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html), and the Bash Hackers Wiki (http://wiki.bash-hackers.org/syntax/pe). The following examples all start simply with the command you would type, and underneath is what your shell will output (in most cases, version dependent) having hit the Enter key. Integrate these snippets into your scripts in any way that you see fit. ** |
| |
Il me semble me souvenir que cette fonctionnalité soit d'abord introduite dans la version 4.2 de Bash et est disponibles dans les versions ultérieures, mais j'ai peut-être tort. Vous recevrez vraisemblablement un message d'erreur bizarroïde si la version de votre shell ne la supporte pas, mais il y a peu de chances que quelque chose se casse irrémédiablement. L'image ci-dessous montre comment trouver la version de Bash sur votre machine, lancé comme un quelconque utilisateur sans droits - tout comme les autres commandes. | Il me semble me souvenir que cette fonctionnalité fut d'abord introduite dans la version 4.2 de Bash et est disponible dans les versions ultérieures, mais j'ai peut-être tort. Vous recevrez vraisemblablement un message d'erreur bizarroïde si la version de votre shell ne la supporte pas, mais il y a peu de chances que quelque chose se casse irrémédiablement. L'image ci-dessous montre comment trouver la version de Bash sur votre machine, lancé comme un quelconque utilisateur sans droits, tout comme les autres commandes. |
| |
Ne tournons plus autour du pot. Ces exemples sont, je l'espère, explicites. Il existe beaucoup plus de lecture en ligne, notamment sur le site GNU (https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html) et le wiki des Bash Hackers (http://wiki.bash-hackers.org/syntax/pe). Tous les exemples qui suivent commencent simplement par la commande que vous saisiriez, avec, en dessous, ce que votre shell sortira (dans la plupart des cas, cela dépend de votre version) une fois que vous aurez appuyé sur la touche Entrée. Vous pouvez intégrer ces segments dans vos scripts comme vous le désirez. | Ne tournons plus autour du pot. Ces exemples sont, je l'espère, explicites. Il existe beaucoup plus de lecture en ligne, notamment sur le site GNU (https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html) et le wiki des Bash Hackers (http://wiki.bash-hackers.org/syntax/pe). Tous les exemples qui suivent commencent simplement par la commande que vous saisiriez, avec, en dessous, ce que votre shell sortira (dans la plupart des cas, cela dépend de votre version) une fois que vous aurez appuyé sur la touche Entrée. Vous pouvez intégrer ces segments dans vos scripts comme vous le désirez. |
Cette brève liste n'est en fait qu'un avant-goût de cette fonctionnalité puissante, pour vous mettre en appétit. | Cette brève liste n'est en fait qu'un avant-goût de cette fonctionnalité puissante, pour vous mettre en appétit. |
| |
- Find chars, two chars in length, after position three (trouver les deux caractères après la position trois) : | - Trouver les deux caractères après la position trois : |
| |
$ me="1234567890"; echo ${me:3:2} | $ me="1234567890"; echo |
| ${me:3:2} |
| |
45 | 45 |
| |
- Ignore the first three chars (ignorer les trois premiers caractères) : | - Ignorer les trois premiers caractères : |
| |
$ you="1234567890"; echo ${you:3} | $ you="1234567890"; echo |
| ${you:3} |
| |
4567890 | 4567890 |
| |
- Replace chars after matching them (remplacer des caractères après les avoir trouvés) : | - Remplacer des caractères après les avoir trouvés : |
| |
$ them="1234567890"; echo ${them/456/XXX} | $ them="1234567890"; echo |
| ${them/456/XXX} |
| |
123XXX7890 | 123XXX7890 |
| |
- Remove chars from string (enlever des caractères d'une chaîne) : | - Enlever des caractères d'une chaîne : |
| |
$ blue="1234567890"; echo ${blue/456} | $ blue="1234567890"; echo |
| ${blue/456} |
| |
1237890 | 1237890 |
resolv.conf** | resolv.conf** |
| |
- Display chars up to a delimiter (afficher des caractères avant un délimiteur) : | - Afficher des caractères avant un délimiteur : |
| |
$ red="1234567890"; echo ${red%5*} | $ red="1234567890"; echo |
| ${red%5*} |
| |
1234 | 1234 |
| |
- Show chars after a delimiter (afficher des caractères après un délimiteur) : | - Afficher des caractères après un délimiteur : |
| |
$ yellow="1234567890"; echo ${yellow#*5} | $ yellow="1234567890"; echo |
| ${yellow#*5} |
| |
67890 | 67890 |
| |
- Discover a variable's length (note the unusual use of hash here) (apprendre la longeur d'une variable - notez l'usage inhabituel du # dans ce cas) : | - Apprendre la longueur d'une variable (notez l'usage inhabituel du # dans ce cas) : |
| |
$ orange=123; length=${#orange}; echo $length | $ orange=123; length=${#orange}; echo |
| $length |
| |
3 | 3 |
| |
- Remove pattern (the front part of a variable) (enlever la première partie d'une variable) : | - Enlever la première partie d'une variable : |
| |
$ green="/etc/resolv.conf"; echo ${green#/etc/} | $ green="/etc/resolv.conf"; echo |
| ${green#/etc/} |
| |
resolv.conf | resolv.conf |
devsecops ** | devsecops ** |
| |
- Remove pattern (the end of a variable) (enlever la fin d'une variable) : | - Enlever la fin d'une variable : |
| |
$ pink="chris_secret_file.tar.gz"; echo ${pink%.tar.gz} | $ pink="chris_secret_file.tar.gz"; echo |
| ${pink%.tar.gz} |
| |
chris_secret_file | chris_secret_file |
| |
- Find and Replace (chercher et remplacer) : | - Chercher et remplacer : |
| |
$ chris="Containers are great !"; echo ${chris/great/fantastic} | $ chris="Containers are great !"; echo |
| ${chris/great/fantastic} |
| |
Containers are fantastic ! | Containers are fantastic ! |
| |
- Discover a substring (découvrir une sous-chaîne) : | - Découvrir une sous-chaîne : |
| |
$ chrisbinnie="www.devsecops.cc"; echo ${chrisbinnie:4:9} | $ chrisbinnie="www.devsecops.cc"; echo |
| ${chrisbinnie:4:9} |
| |
devsecops | devsecops |