-
Notifications
You must be signed in to change notification settings - Fork 16
/
expansion_susbitution.txt
46 lines (32 loc) · 2.28 KB
/
expansion_susbitution.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
EXPANSION_SUSBITUTION
SUBSHELLS ==> #Bash commence par calculer les subshells enfants avant
#leur parent, et suit l'ordre des pipes :
# - 1 | 3 $(2) | 5 < <(4)
EXPANSION #Action de Bash qui change un word par un autre
SUSBTITUTION ==> #équivalent. Pour Bash, cela est fait dans cet ordre :
BRACE EXPANSION ==> # - {1..3} devient 1 2 3
# - r{a,b} devient ra rb
TILDE EXPANSION ==> # - ~- devient /chemin/vers/dir/
PARAMETER EXPANSION ==> # - $VAR devient "oh"
# - $1 devient "oh"
# - ${VAR:-STRING} devient "oh"
# - ${VAR:OFFSET} devient "oh"
# - ${#VAR} devient 3
# - ${VAR#PATTERN} devient "oh"
# - ${VAR^^} devient "OH"
ARITHMETIC EXPANSION ==># - $(( 1 + 1 )) devient 2
# - $[ 1 + 1 ] devient 2
COMMAND SUSBTITUTION ==># - $(echo "oui") devient "oui"
# - `echo "oui"` devient "oui"
PROCESS SUSBTITUTION ==># - <(COMMANDES) devient /dev/fd/63
FILENAME EXPANSION ==> # - ./*.txt devient ./file.txt
WORD SPLITTING ==> #Avant le filename expansion, les words dont l'expansion
#a créé des IFS non échappés deviennent plusieurs words
QUOTE REMOVAL ==> #A la fin du processus, les symboles d'échappement sont
#supprimés. Avant cette étape, le quoting avant un
#effet (empêche l'expansion), maintenant non.
REDIRECTIONS ==> #Les redirections sont effectuées
EXECUTION ==> #Les commandes sont exécutées, et l'exit code waited
#for.