Initiation au Korn Shell : comparons avec les autres shells

Magazine
Marque
GNU/Linux Magazine
Numéro
135
Mois de parution
février 2011


Résumé
La motivation ayant conduit à l'écriture de cet article résulte du constat suivant : la plupart des programmeurs Un*x utilisent les shells modernes en utilisant la syntaxe du Bourne Shell qui date de plus de 30 ans ou se tournent vers des langages comme Perl ou Python. Pendant très longtemps et pour des raisons de portabilité désormais non fondées, le Bourne Shell a été le shell de référence. Puis est venu le Korn Shell 88 présent dans tous les Unix commerciaux. Ce dernier a eu ensuite un successeur : le Korn Shell 93.

Ce shell est présent dans des distributions Linux Red Hat Entreprise Linux (RHEL), CentOS, dans OpenSolaris (et donc dans le futur Solaris 11) et OpenIndina, AIX, et on peut même l'utiliser sous Windows. On notera qu'au fil de ses versions bash, le shell standard des systèmes Linux intègre les fonctionnalités du Korn Shell, il reste néanmoins moins performant que ce dernier.

1. Les entrées/sorties en shell

Commençons par un code - exemple d'école - qui lit le fichier infile et le recopie dans le fichier outfile en transformant les majuscules en minuscules.

Avec le Bourne Shell, on procédera comme ceci :

while read line

do

 echo "$line" | tr 'A-Z' 'a-z'

done < infile > outfile

Avec la localisation des commandes, utiliser tr [[:upper:]] [[:lower:]] serait une écriture plus académique. Avec le Korn Shell, l'utilisation de tr n'est plus nécessaire. On fera simplement comme ceci :

# Une variable déclarée avec typeset -l assure la conversion en

# minuscule lors de l'affectation de...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez chaque semaine un nouvel article premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

D'OpenSolaris à OpenIndiana

Magazine
Marque
GNU/Linux Magazine
Numéro
134
Mois de parution
janvier 2011
Résumé
Pourquoi s'intéresser à OpenSolaris alors qu'Oracle a sabordé ce projet ? Tout simplement parce que des projets s'inscrivant dans la continuité d'OpenSolaris ont été récemment lancés. Si des tentatives existent cela signifie que ceux qui les pilotent considèrent qu'il en vaut la peine, parce qu'il présente des points intéressants sur le plan technique (ZFS, SMF, IPS, etc.) qui le démarquent nettement de Linux.

Comprendre les rôles de Solaris™ et d'OpenSolaris

Magazine
Marque
MISC
Numéro
40
Mois de parution
novembre 2008
Spécialité(s)
Résumé

Le contrôle d'accès par rôles ou RBAC (Role-Based Access Control) de Solaris introduit avec Solaris 8 permet d'attribuer des privilèges aux utilisateurs pour leur permettre d'agir dans un certain nombre de domaines avec les mêmes droits que ceux dont dispose l'administrateur système. RBAC qui fonctionne en mode « userland » sous Solaris 8 et 9 et repose sur l'identité (uid) et les permissions a été modifié en profondeur dans Solaris 10 qui introduit un modèle de privilèges « Process Rights Management » au niveau « kernel ». Ce modèle remplace le privilège lié à l'uid zéro par un ensemble de privilèges pouvant être individuellement délégués ou révoqués. La compatibilité ascendante avec le modèle super-user est maintenue en accordant à ce dernier la totalité de ces privilèges.Avec RBAC et les privilèges, Solaris 10 entre dans le 21 siècle avec les dispositifs permettant de définir le degré de sécurité adaptés aux exigences les plus strictes : être ou ne pas être root n'est plus la question, puisqu'il devient possible de mettre en œuvre une politique du moindre privilège chaque fois qu'on le jugera nécessaire.

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous