diff --git a/ulib/.ulib_version b/ulib/.ulib_version index 45a4fb7..ec63514 100644 --- a/ulib/.ulib_version +++ b/ulib/.ulib_version @@ -1 +1 @@ -8 +9 diff --git a/ulib/crontab b/ulib/crontab index fb43c47..ceff806 100644 --- a/ulib/crontab +++ b/ulib/crontab @@ -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/*,]+/ { diff --git a/uscrontab b/uscrontab index b531a35..c726f48 100755 --- a/uscrontab +++ b/uscrontab @@ -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