Skip to main content

Si vous avez utilisé le shell POSIX ("bash") sous VOS, vous savez que vous pouvez exécuter diverses commandes POSIX et utiliser toutes les astuces que bash fournit, comme la redirection des entrées et des sorties. Mais saviez-vous que vous pouvez utiliser ces mêmes fonctionnalités avec de nombreuses commandes VOS ?

Par exemple, si vous souhaitez combiner la commande VOS "list" avec la commande POSIX "more", tapez la ligne de commande suivante dans bash :

liste | plus

Si vous voulez exécuter la sortie de la commande list dans un fichier, par exemple :

liste >list.txt

Cela fonctionne parce que VOS et POSIX utilisent le même port VOS sous-jacent pour écrire la sortie sur le terminal ou le fichier batch. Le port VOS "default_output" est équivalent au fichier POSIX "stdout". Et le port VOS "default_input" est le même que celui du fichier POSIX "stdin". Enfin, le port VOS "terminal_output", où VOS écrit les messages d'erreur, est le même que le fichier POSIX "stderr".

Voici un exemple (inventé) d'utilisation de la redirection d'entrée de bash sur une commande VOS. Créez un fichier nommé "line_edit.txt" avec les 2 lignes suivantes :

imprimer *
quitter

Vous pouvez ensuite exécuter ces demandes de line_edit contre votre fichier d'abréviations comme suit :

line_edit abbreviations <line_edit.txt

Notez que bash exécute chaque commande dans un nouveau processus enfant. Le processus fils hérite de toutes les pièces jointes d'E/S et de tous les états du processus parent, ce qui ne pose pas de problème pour la plupart des commandes. Cependant, toute commande VOS qui modifie l'environnement du processus ne fera pas ce que vous attendez. Par exemple, l'exécution de la commande set_library_paths à partir de bash modifiera les chemins de bibliothèque du processus fils ; et ce processus est détruit dès que la commande se termine. Si vous souhaitez modifier les chemins recherchés par bash, vous devez effectuer le changement en utilisant la méthode POSIX, qui consiste à modifier la variable d'environnement PATH.

J'espère que vous trouverez ces techniques utiles.

2024 Stratus Technologies.