Commande ksh93

Objectif

Appelle l'interpréteur de commandes Korn étendu.

Syntaxe

ksh93 [ + | - a b c C e f h i k m n o p r s t u v x BDP ] [+-R fichier] [ +-o Option ] [arg...].

Remarque: la précédente option avec + (plus) au lieu de - (moins) désactive l'option.

Descriptif

La commande ksh93 appelle le shell Korn amélioré, qui est un interpréteur de commandes interactif et un langage de programmation de commandes. L'interpréteur de commandes exécute des commandes de manière interactive à partir d'un clavier de terminal ou d'un fichier.

L'interpréteur de commandes Korn amélioré comporte des fonctions supplémentaires qui ne sont pas disponibles dans l'interpréteur de commandes Korn par défaut.

Remarque: L'attente intégrée ksh93 se comporte de la même manière que la sous-routine wait parent.

Indicateurs

Article Descriptif
-B Active la génération de la zone de motif de brace et l'extension du groupe de supports. Ce paramètre est défini par défaut.
-d N'exécute pas le script, mais les résultats dans l'ensemble de chaînes de sortie entre guillemets précéde de $. Ces chaînes sont nécessaires pour la localisation du script dans différentes langues.
-P Si les profils -P ou -o sont présents, le shell est appelé shell de profil.
-a Exporte automatiquement tous les paramètres suivants définis.
-b Les messages d'achèvement des travaux sont imprimés dès qu'un travail d'arrière-plan change d'état plutôt que d'attendre l'invite suivante.
-c Permet de lire les commandes à partir du premier argument. Les arguments restants deviennent des paramètres positionnels à partir de 0.
-C Empêche les fichiers existants d'être tronqués lorsque la redirection > est utilisée. Le mode O_EXCL est utilisé pour créer des fichiers. Requiert >| pour tronquer un fichier lorsque l'option -C est utilisée.
-e S'il n'est pas contenu dans une commande || ou && , ou après une commande Si tant que ou Jusqu'à , ou dans le pipeline suivant !, exécute l'alerte ERR , si elle est définie, et se ferme si une commande a un statut de sortie différent de zéro. Ce mode est désactivé lors de la lecture des profils.
-f Désactive la génération du nom de fichier.
-h Désigne chaque commande en tant qu'alias de suivi lors de sa première détection.
Remarque: La fonction d'alias de suivi est désormais obsolète.
-i Indique que la coque est interactive. Un shell interactif est également indiqué si l'entrée et la sortie du shell sont connectées à un terminal (comme déterminé par la sous-routine ioctl ). Dans ce cas, la variable d'environnement TERM est ignorée (de sorte que la commande kill 0 ne tue pas un shell interactif) et le signal INTR est intercepté et ignoré (de sorte qu'un état d'attente peut être interrompu). Dans tous les cas, le signal QUIT est ignoré par le shell.
-k (obsolète) Place tous les arguments d'affectation de paramètre dans l'environnement pour une commande, et pas uniquement les arguments qui précèdent le nom de la commande.
-m Exécute les travaux en arrière-plan dans un processus distinct et imprime une ligne une fois qu'ils sont terminés. L'état de sortie des travaux en arrière-plan est indiqué dans un message de fin d'exécution. Sur les systèmes comportant un contrôle de travaux, cet indicateur est activé automatiquement pour les interpréteurs de commandes interactifs.
-n Lit les commandes et y recherche des erreurs de syntaxe, mais ne les exécute pas. Cet indicateur est ignoré pour les interpréteurs interactifs.
Remarque: ksh93 -n génère un message d'avertissement pour une certaine syntaxe. Ces messages sont des avertissements. Même si ces avertissements sont émis, l'exécution des scripts n'est pas modifiée. Les messages d'avertissement suivants sont des messages d'avertissement:
              `...` obsolete, use $(...).
              -a obsolete, use -e.
              '=' obsolete, use '=='.
              %s within [[...]] obsolete, use ((...)).
              set %s obsolete.
              `{' instead of `in' is obsolete.
              "obsolete -j must be 1 or 2.
-o Option Imprime les paramètres d'option en cours et un message d'erreur si vous ne spécifiez pas d'argument. Vous pouvez utiliser cet indicateur pour activer l'une des options suivantes:
Allexportation
Identique à l'indicateur -a .
Errexit
Identique à l'indicateur -e .
Bgnice
Exécute tous les travaux en arrière-plan avec une priorité moindre. Il s'agit du mode par défaut.
Braceexpandir
Identique à l'indicateur -B .
emacs
Entre un éditeur en ligne de style emacs pour la saisie de commande.
gmacs
Entre un éditeur en ligne de style gmacs pour la saisie de commande.
Ignoreeof
Ne quitte pas l'interpréteur lorsqu'il rencontre un caractère de fin de fichier. Vous devez utiliser la commande exit ou remplacer l'indicateur et quitter le shell en appuyant plus de 11 fois sur la séquence de touches Ctrl-D.
interactif
Identique à l'indicateur -i .
mot clé
Identique à l'indicateur -k .
Markdirs
Ajoute une barre oblique ( / ) à tous les noms de répertoire résultant de la substitution de nom de fichier.
 
surveillance
Identique à l'indicateur -m .
multiligne
L'éditeur intégré utilise plusieurs lignes de l'écran qui sont plus longues que la largeur de l'écran. Cela peut ne pas fonctionner sur tous les terminaux.
Noclobber
Identique à l'indicateur -C .
Noexec
Identique à l'indicateur -n .
Noglob
Identique à l'indicateur -f .
Nolog
Empêche la sauvegarde des définitions de fonction dans le fichier historique.
 
notify
Identique à l'indicateur -b .
Nounset
Identique à l'indicateur -u .
Pipefail
Un pipeline ne sera pas terminé tant que tous les composants du pipeline ne seront pas terminés. La valeur de retour sera celle de la dernière valeur de retour différente de zéro de la dernière commande à échouer, ou 0 si toutes les valeurs de retour sont 0.
Showme
Des commandes ou des pipelines uniques précé­ds d'un ; (point-virgule) seront affichés comme si l'option xtrace était activée mais ne sera pas exécutée. Sinon, le premier ; (point-virgule) sera ignoré.
Privilégiés
Identique à l'indicateur -p .
 
verbose
Identique à l'indicateur -v .
Trackall
Identique à l'indicateur -h .
Vi
Enter le mode insertion d'un éditeur en ligne de style vi pour l'entrée de commande. La saisie du caractère d'échappement 033 place l'éditeur en mode déplacement. Un retour envoie la ligne.
Viraw
Traite chaque caractère tel qu'il est entré en mode vi.
Xtrace
Identique à l'indicateur -x .
Vous pouvez définir plusieurs options sur une seule ligne de commande ksh93 .
-p Désactive le traitement du fichier $HOME/.profile et utilise le fichier /etc/suid_profile à la place du fichier ENV . Ce mode est sur chaque fois que l'uid effectif (gid) n'est pas égal à l'uid réel (gid). Pour ce faire, l'uid et le gid effectif doivent être définis sur l'uid réel et le gid.
-r Exécute une coque restreinte. Avec un interpréteur de commandes restreint, vous ne pouvez pas:
  • Modifiez le répertoire de travail en cours.
  • Définissez la valeur de la variable SHELL, ENVou PATH .
  • Indiquez le nom de chemin d'une commande contenant une / (barre oblique).
  • Sortie de redirection d'une commande avec > (caret droit), >| (caret droit, symbole de barre verticale), <> (caret gauche, caret droit) ou >> (deux carets droit).
Article Descriptif
-R Fichier Une base de données de références croisées est générée lorsque l'option -R Fichier est utilisée. Il peut être utilisé pour rechercher des définitions et des références pour des variables et des commandes par un utilitaire distinct.
-s Permet à la commande ksh93 de lire les commandes à partir de l'entrée standard. La sortie de la coque, à l'exception de la sortie des commandes spéciales, est écrite dans le descripteur de fichier 2. Ce paramètre ne peut pas être utilisé avec l'indicateur -c ou avec le paramètre Fichier[Paramètre].
-t Quitte après la lecture et l'exécution d'une commande.
-u Traite les paramètres non définis comme des erreurs lors de la substitution.
-v Imprime les lignes d'entrée de l'interpréteur au fur et à mesure qu'elles sont lues.
-x Imprime les commandes exécutées et leurs arguments.

Prise en charge des Audits

Pour activer la fonction d'audit dans le shell Korn amélioré, procédez comme suit:

  • Pour activer la fonction d'audit dans la commande ksh93u , le fichier /etc/ksh_audit doit avoir un nom de fichier de sortie et une valeur d'identification pour l'utilisateur. Par exemple, /tmp/ksh_auditfile;205;0.
  • Vous pouvez configurer la fonction d'audit pour générer un enregistrement détaillé pour chaque commande exécutable. Vous pouvez utiliser l'enregistrement pour surveiller, suivre et auditer les activités d'un ou de plusieurs utilisateurs sur un système, y compris les administrateurs système.
  • Pour activer la fonction d'audit dans la commande ksh93 , le fichier /etc/ksh_audit doit être créé et configuré en spécifiant l'emplacement du fichier audit_log et une valeur d'identification pour l'utilisateur. Vous pouvez séparer les valeurs d'identification à l'aide d'un point-virgule.

Par exemple, le texte /tmp/ksh_auditfile;0;100;205 dans le fichier /etc/ksh_audit fait référence à l'emplacement du fichier journal (/tmp/ksh_auditfile) et aux valeurs d'identification de l'utilisateur qui sont respectivement 0 (root), 100et 205 .

Remarque :
  • Les utilisateurs en attente d'audit doivent disposer des droits Lire et Ecrire pour les fichiers de configuration et les fichiers journaux.
  • Lorsque la variable d'environnement EXTENDED_HISTORY est activée, les entrées d'audit comportent des informations d'horodatage avec des caractères non imprimables à la fin de l'entrée. Par défaut, la variable d'environnement EXTENDED_HISTORY est activée. Toutefois, vous pouvez l'activer manuellement en exécutant la commande export EXTENDED_HISTORY=ON . Pour désactiver la variable d'environnement EXTENDED_HISTORY , vous pouvez exécuter la commande unset EXTENDED_HISTORY .
  • La variable d'environnement EXTENDED_HISTORY vous permet d'afficher un rapport de suivi détaillé pour toutes les commandes exécutées dans le shell.

Statut de sortie

Article Descriptif
0 L'opération a abouti.
>0 Une erreur s'est produite.

Emplacement

/usr/bin/ksh93