par Tim Massaro - Mis en ligne le 9/03/2005 - Publié en Avril 2004
Quand seule une ligne de commande fait l'affaire
Reconnaissons-le : une interface
ligne de commande est parfois essentielle.
Les développeurs iSeries ont
joui pendant longtemps de la puissance
et de la facilité d'utilisation de
l'interface ligne de commande du système.
Les fonctions innovantes de CL
(Command Language) de l'OS/400 - y
compris l'invite de commande dynamique,
l'aide sensible au curseur et
même un schéma de nommage de
commande extrêmement homogène -
rendent cet environnement productif
pour tout utilisateur iSeries ...Au cours des dernières années, au
fur et à mesure que l'OS/400 s'est
diversifié, l'équipe iSeries d'IBM a produit
de nouvelles options d'environnement
ligne de commande. Ces
environnements d'interface de commande
supplémentaires sont du genre
Unix (mais l'iSeries supporte aussi les
environnements ligne de commande
System/36/38). Un shell Unix est un
programme placé dans une boucle en
attente d'une entrée de l'utilisateur,
similaire au fonctionnement du
Command Entry Screen. Le shell interprète
une commande quand la touche
Entrée est actionnée, l'exécute et revient
dans la boucle en attente d'autres
entrées. Vous pouvez combiner les instructions
shell sous forme de scripts,
qui sont comme des programmes CL
mais interprétés en temps réel, sans
compilation. Sur l'iSeries, les shells
sont particulièrement commodes pour
les développeurs migrant d'autres systèmes
ou pour ceux qui travaillent avec
l'IFS ou dans le QShell ou dans des environnements
PASE.
Le premier shell OS/400 à apparaître
a été l'environnement QShell
(QSH), qui remonte à la V4R2. Destiné
initialement pour que l'OS/400 soit
compatible avec les standards POSIX
et X/Open, cet environnement est une
option gratuite de l'OS/400 (option
30). On accède à l'environnement avec
la commande STRQSH ou, plus simplement,
QSH, à partir du Command
Entry Screen traditionnel. QShell est
compatible en amont avec les scripts
shell Bourne et supporte bon nombre
des fonctions utilisées par les scripts
shell Korn et shell Bourne Again.
Est venu ensuite l'environnement PASE, apparu à l'origine en V4R4. PASE
(qui signifie Portable Application
Solutions Environment) est l'environnement
d'exécution qui permet à
de nombreuses applications AIX de
fonctionner sans modification dans un
environnement natif iSeries. A partir
de la V5R2, PASE est fourni gratuitement
avec l'OS/400. Il est aussi, en option,
installé. Pour installer PASE à partir
de l'écran Go LICPGM, choisissez
l'option 33 (5722SS1 - Portable Application
Solutions Environment). Vous
pouvez invoquer le PASE Shell via CALL QP2TERM. PASE supporte trois types
de shells Unix. Il adopte par défaut le
shell Korn (ksh), mais les utilisateurs
peuvent aussi choisir le shell Bourne
(bsh) et le shell C (csh). De précédents
articles d'iSeries Network ont fourni
des informations sur ces divers shells
(voir l'encadré « Ressources shell
iSeries »). Ces articles, combinés à une
vaste information sur les scripts shell
sur le Web et dans des ouvrages techniques
spécialisés, vous donneront les
moyens d'utiliser ces divers shells.
Dans cet article, je me concentre sur
deux nouvelles améliorations : le support
PTY et le support AWT natif.
Quoique d'apparence mineure, ces
deux fonctions faciliteront la vie des
nombreux fans des scripts shell. Je présente
aussi une rapide démonstration
montrant OS/400 Java supportant la
démo AWT généralement connue sous
le nom de SwingSet.
Jouons avec le shell sur l’iSeries
![Jouons avec le shell sur l’iSeries Jouons avec le shell sur l’iSeries](https://www.itpro.fr/wp-content/uploads/2014/03/6491bd916c598815607b5c011d4e280e.jpg)
Le support de PTY dans xterm, qui
était une amélioration de la V5R2, inclut
le support pseudo-terminal (PTY)
et le contrôle de job de style Unix pour
les environnements shell PASE. Cela
peut sembler obscur, mais c’est le support
basique sur lequel comptent de
nombreux fans du mode ligne de commande
Unix. Le support de PTY permet
de contrôler des jobs Unix à partir
de la ligne de commande. L’utilisation
la plus courante du contrôle de jobs
dans une session terminal consiste à
utiliser la séquence de touches Ctrl-C
pour annuler une commande d’exécution
longue ou en boucle (comme
System Request 2 sur iSeries). Parmi
les autres exemples, on trouve la combinaison
de frappe Ctrl-Z. On peut
l’utiliser pour suspendre une commande
trop longue ou en boucle puis
taper « bg » pour reprendre l’exécution
de ce job dans un thread d’arrière plan.
Et, avec le support de PTY, les commandes
qui lisent à partir de STDIN
peuvent désormais compléter l’entrée
standard de manière traditionnelle, via
la combinaison de touches Ctrl-D.
Dernier avantage : en Linux et
Unix, on trouve beaucoup de programmes
qui fonctionnent en mode
console ou texte. Désormais, avec le
support de PTY, ces commandes peuvent
être portées pour s’exécuter sur
l’iSeries. Exemples de commandes qui
s’exécutent en mode texte : l’éditeur Vi
et le navigateur Web en mode texte
Lynx. A noter que les nouvelles fonctions
de PTY ne fonctionnent pas dans
le QShell ou shell PASE original (via
QP2TERM). Elles ne fonctionnent que
dans une session terminal, démarrée
par la commande aixterm ou xterm.
J’explique ci-dessous comment exécuter
xterm.
Téléchargez cette ressource
![Comment lutter contre le Phishing ?](https://www.itpro.fr/wp-content/uploads/2024/07/Special-Report-Eviden-Securite-Phishing-Juillet-2024.png)
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Contrôler et optimiser les dépenses informatiques dans le contexte macroéconomique actuel
- Forterro : l’IA associée à l’ERP permet de se différencier sur le marché
- Résilience face aux cyberattaques : les leçons d’une expérience
- Configuration de machine d’Azure Automanage
- Un été placé sous le signe du sport, quelles implications pour la cybersécurité en Europe?
![Revue Smart DSI](https://www.itpro.fr/wp-content/uploads/2024/07/SMART-DSI-Numero-34-Juin-2024.jpg)