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
sub(/^\$/, "", $0)
print
if ($0 ~ /^\$\{([ \t]*(#.*)?)?$/) {
# commande sur plusieurs lignes
getline
while ($0 !~ /^\$\}([ \t]*(#.*)?)?$/) {
print
if (getline <= 0) break
}
} else {
# commande sur une seule ligne
sub(/^\$/, "", $0)
print
}
next
}
/^[ \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
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.
On peut s'en servir notamment pour lire un fichier de configuration qui