support de la syntaxe ?=
This commit is contained in:
parent
f4278a7950
commit
42db2bf177
|
@ -151,9 +151,9 @@ BEGIN {
|
||||||
match_indented = 0
|
match_indented = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
/^(export[ \t]+)?[a-zA-Z_][a-zA-Z0-9_]*[-+%#]=/ {
|
/^(export[ \t]+)?[a-zA-Z_][a-zA-Z0-9_]*[-+%#?]=/ {
|
||||||
# manipulation de variables de type PATH
|
# manipulation de variables de type PATH
|
||||||
match($0, /^(export[ \t]+)?([a-zA-Z_][a-zA-Z0-9_]*)([-+%#])=(.*)$/, parts)
|
match($0, /^(export[ \t]+)?([a-zA-Z_][a-zA-Z0-9_]*)([-+%#?])=(.*)$/, parts)
|
||||||
name = parts[2]
|
name = parts[2]
|
||||||
type = parts[3]
|
type = parts[3]
|
||||||
value = parts[4]
|
value = parts[4]
|
||||||
|
@ -163,6 +163,8 @@ BEGIN {
|
||||||
print "uinspath " value " " name
|
print "uinspath " value " " name
|
||||||
} else if (type == "-") {
|
} else if (type == "-") {
|
||||||
print "udelpath " value " " name
|
print "udelpath " value " " name
|
||||||
|
} else if (type == "?") {
|
||||||
|
print "[ -n \"$" name "\" ] || " name "=" value
|
||||||
}
|
}
|
||||||
print "export " name
|
print "export " name
|
||||||
next
|
next
|
||||||
|
|
|
@ -63,6 +63,11 @@ Les lignes commençant par # sont des commentaires et sont ignorées
|
||||||
|
|
||||||
PATH+=\"/path/to/dir with spaces\"
|
PATH+=\"/path/to/dir with spaces\"
|
||||||
|
|
||||||
|
La syntaxe ?= permet de définir la valeur d'une variable si elle n'est pas
|
||||||
|
déjà définie:
|
||||||
|
|
||||||
|
var?=default
|
||||||
|
|
||||||
Les lignes de la forme suivante permettent d'exécuter une commande
|
Les lignes de la forme suivante permettent d'exécuter une commande
|
||||||
quelconque:
|
quelconque:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue