support des commandes multilignes

This commit is contained in:
Jephté Clain 2013-11-15 13:27:18 +04:00
parent 9d612c3267
commit 40c021983a
3 changed files with 23 additions and 4 deletions

View File

@ -1 +1 @@
8 9

View File

@ -175,8 +175,18 @@ BEGIN {
} }
/^\$.+/ { /^\$.+/ {
# exécution de commande arbitraire # exécution de commande arbitraire
if ($0 ~ /^\$\{([ \t]*(#.*)?)?$/) {
# commande sur plusieurs lignes
getline
while ($0 !~ /^\$\}([ \t]*(#.*)?)?$/) {
print
if (getline <= 0) break
}
} else {
# commande sur une seule ligne
sub(/^\$/, "", $0) sub(/^\$/, "", $0)
print print
}
next next
} }
/^[ \t]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+/ { /^[ \t]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+[ ]*[-0-9/*,]+/ {

View File

@ -56,7 +56,16 @@ Les lignes commençant par # sont des commentaires et sont ignorées
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:
$command-line $one-line-command
Une variante permet de spécifier des commandes sur plusieurs lignes.
ATTENTION! ${ et $} doivent être tous seuls sur la ligne.
${
several
commands
...
$}
Ces commandes sont exécutées systématiquement et ignorent la planification. Ces commandes sont exécutées systématiquement et ignorent la planification.
On peut s'en servir notamment pour lire un fichier de configuration qui On peut s'en servir notamment pour lire un fichier de configuration qui