| |
Automatisation de commandes sous UNIX.
S/REXX est identique au langage procédural REXX
d'IBM sous VM/CMS, destiné à l'environnement Unix, et conforme à SAA.
S/REXX offre des fonctionnalités complémentaires
et peut-être un outil de migration des procédures sous CMS vers
UNIX.
Fonctions additionnelles de S/REXX :
Sous CMS, les procédures REXX externes incluses dans des fichiers
séparés ne peuvent pas accéder nativement aux variables de la
procédure principale.
S/REXX permet d'ajouter automatiquement ces
procédures en mémoire à la fin de la procédure principale; elles
deviennent alors des procédures internes exactement comme si elles
faisaient partie du même fichier ; elles partagent alors le même jeu
de variables.
Cette option est particulièrement utile pour la
constitution de bibliothèques d'outils et d'utilitaires
réutilisables sans duplication.
Il suffit d'ajouter des cotes inverses -
disponibles sur tous les claviers ASCII - autour d'une commande
quelconque UNIX, pour que la réponse soit placée dans une variable
REXX au lieu d'être affichée.
Cela permet de développer très aisément des
outils d'exploitation sans devoir jongler avec les filtres et les
redirections.
L'instruction DO est enrichie d'une nouvelle syntaxe qui étend
encore sa puissance.
Les informations affichées par S/REXX lorsque le
mode trace est activé sont plus explicites que sous CMS.
De nombreuses fonctions permettent d'accéder aux commandes natives
d'UNIX :
SEDIT est le complément naturel de S/REXX, c'est un éditeur
graphique ou texte très puissant.
Lorsque S/REXX est utilisé pour développer des macros SEDIT sous
X-Windows, de simples fonctions permettent de créer des boîtes de
dialogue avec des zones de saisie, des cases à cocher, des boutons.
De même, grâce à SEDIT, il est très facile de développer des macros
pour visualiser des données se trouvant dans un fichier sous forme
de tableau. Un fichier de contrôle de style ISPF est utilisé pour
cela.
Il est possible de manipuler les variables REXX depuis un programme
écrit en langage C, et de déclencher des procédures S/REXX depuis ce
module. |
|