Il s'agit de la commande lksh qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
lksh — Legacy Korn shell construit sur mksh
SYNOPSIS
lksh [-+abCefhiklmnprUuvXx] [-+o opter] [-c un magnifique | -s | filet [args ]]
DESCRIPTION
lksh est un interpréteur de commandes destiné exclusivement à l'exécution de scripts shell hérités. Il est
construite sur mksh; reportez-vous à sa page de manuel pour plus de détails sur le langage de script. Il est
recommandé de porter les scripts vers mksh au lieu de s'appuyer sur l'héritage ou l'idiot POSIX mandaté
comportement, puisque le langage de script MirBSD Korn Shell est beaucoup plus cohérent.
Notez qu'il est fortement recommandé d'invoquer lksh avec au moins le -o posix option, sinon
à la fois ça et votre -o sh, pour profiter pleinement d'une meilleure compatibilité avec le standard POSIX (qui est
probablement pourquoi vous utilisez lksh plus de mksh en premier lieu) ou des scripts hérités, respectivement.
LEGACY MODE
lksh présente actuellement les différences suivantes par rapport à mksh:
· Il n'y a pas de support explicite pour une utilisation interactive, ni aucune édition de ligne de commande ou
code historique. D'où, lksh ne convient pas non plus comme shell de connexion d'un utilisateur ; utilisation mksh
à la place.
· La chaîne KSH_VERSION identifie lksh comme « LEGACY KSH » au lieu de « MIRBSD KSH ». Noter
que le reste de la chaîne de version est identique entre les deux saveurs de coque, et le
le comportement et les différences peuvent changer entre les versions ; voir la page de manuel d'accompagnement
mksh(1) pour les versions auxquelles ce document s'applique.
· lksh utilise l'arithmétique POSIX, ce qui a plusieurs implications : Le type de données pour
l'arithmétique est l'hôte ISO C Long Type de données. Le bouclage d'entier signé est indéfini
Comportement; cela signifie que...
$ écho $((2147483647 + 1))
... est autorisé, par exemple, à supprimer tous les fichiers de votre système (le chiffre diffère pour
systèmes non 32 bits, la règle ne le fait pas). Le signe du résultat d'une opération modulo
avec au moins un opérande négatif n'est pas spécifié. Opérations de décalage sur les nombres négatifs
ne sont pas spécifiés. La division du plus grand nombre négatif par -1 est un comportement indéfini.
Le compilateur est autorisé à supprimer toutes les données et à planter le système en cas de comportement non défini
se produit (voir ci-dessus pour un exemple).
· lksh propose uniquement les dix descripteurs de fichiers traditionnels aux scripts.
· Les opérateurs arithmétiques de rotation ne sont pas disponibles.
· Les opérateurs arithmétiques de décalage prennent en compte tous les bits du deuxième opérande ; si ils
dépasser la précision autorisée, le résultat n'est pas spécifié.
· Le GNU bash l'extension &> pour rediriger stdout et stderr en une seule fois n'est pas analysée.
· Notre mksh option de ligne de commande -T n'est pas disponible.
· Petite remarque, set -o posix c'est actif, lksh utilise toujours le mode traditionnel pour les constructions telles que :
$ set -- $(getopt ab:c "$@")
$ écho $ ?
POSIX exige que cela affiche 0, mais le mode traditionnel passe par le niveau d'erreur de
le obtenir(1) commande.
· Contrairement à AT&T UNIX ksh, mksh in -o posix or -o sh Mode et lksh ne garde pas de dossier
descripteurs > 2 privés des sous-processus.
· Fonctions définies avec le fonction mot réservé partager les options du shell (set -o)
au lieu de les étendre localement.
Utiliser lksh en ligne en utilisant les services onworks.net