informatique:linux:programmation_shell
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:linux:programmation_shell [2021/01/07 10:44] – [read] process substitution pteu | informatique:linux:programmation_shell [2022/10/17 21:28] – [trim] pteu | ||
---|---|---|---|
Line 40: | Line 40: | ||
local VAR=" | local VAR=" | ||
</ | </ | ||
+ | <WRAP center round important 60%> | ||
+ | Les variables déclarées dans une fonction ont toujours une portée locale (elles sont détruites à la fin de la fonction), à moins qu' | ||
+ | </ | ||
+ | |||
Pour déclarer une constante locale à une fonction : | Pour déclarer une constante locale à une fonction : | ||
Line 428: | Line 432: | ||
======Les fonctions====== | ======Les fonctions====== | ||
+ | |||
+ | =====function===== | ||
+ | |||
+ | Elles permettent de mutualiser le code afin qu'il soit appeler plusieurs fois sans avoir à le ré-écrire. | ||
+ | <code bash> | ||
+ | function mafonction() { | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | # appelle de la fonction, plus bas dans le code | ||
+ | mafonction | ||
+ | </ | ||
+ | A l' | ||
+ | |||
+ | La variable bash '' | ||
=====pipe (" | =====pipe (" | ||
Line 592: | Line 611: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | * '' | ||
====Chaînes de caractères==== | ====Chaînes de caractères==== | ||
Line 923: | Line 944: | ||
</ | </ | ||
+ | =====trim (suppression des espaces dans une chaîne)===== | ||
+ | |||
+ | bash ne possède pas de fonction prédéfinie pour " | ||
+ | |||
+ | Pour faire cette office il existe plusieurs possibilités d' | ||
+ | <code bash> | ||
+ | arr=(' | ||
+ | ' test@domain.com ' ' | ||
+ | </ | ||
+ | |||
+ | * en utilisant la substitution de caractère dans les variables, en activant le //globbing étendu// (des motifs d' | ||
+ | <code bash> | ||
+ | shopt -s extglob | ||
+ | # (pour reconnaître [[:blank:]] qui définit l' | ||
+ | arr=( " | ||
+ | arr=( " | ||
+ | </ | ||
+ | |||
+ | * avec '' | ||
+ | <code bash> | ||
+ | function trim() { | ||
+ | mapfile -t t_input<<<" | ||
+ | [[ ${# | ||
+ | set -- ${t_input[@]} | ||
+ | printf ' | ||
+ | } | ||
+ | trim " | ||
+ | </ | ||
====== Ressources ====== | ====== Ressources ====== | ||
Line 929: | Line 978: | ||
* [[http:// | * [[http:// | ||
* https:// | * https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |
informatique/linux/programmation_shell.txt · Last modified: 2023/10/02 13:35 by pteu