Bash : généralités

De Justine's wiki
Version datée du 19 février 2019 à 12:12 par Justine (discussion | contributions) (Page créée avec « = Les shells = Un shell est un interpréteur de commandes, permettant d'accéder aux fonctionnalités internes de l'OS. Un shell est également un langage de programmati... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Les shells

Un shell est un interpréteur de commandes, permettant d'accéder aux fonctionnalités internes de l'OS. Un shell est également un langage de programmation qui se présente sous la forme d'une ligne de commande depuis une console ou un terminal.

Sur les systèmes de type Unix nous trouvons entre autres :

  • sh : Bourne Shell, l'ancêtre
  • bash : Bourne Again Shell; une amélioration du Bourne Shell, disponible par défaut sous Linux, Mac OS X et est porté sous Windows par le projet Cygwin. Depuis Windows 10 et Windows Server 2019, l'interface WSL fournit un noyau compatible Linux avec un shell BASH.
  • ksh : Korn Shell, un shell puissant dispo sur les Unix propriétaires, mais aussi en version libre compatible avec bash.
  • csh : C shell : il utilise une syntaxe proche du C
  • tcsh : Tenex C Shell : Amélioration du C shell.
  • zsh : Z shell : shell récent reprenant les meilleurs idées de bash, ksh, tcsh.

On se concentrera ici sur Bash.

Scripts

Pour automatiser plusieurs commandes, il suffit de les écrire dans un fichiers ASCII d'extension .sh. Quelques points essentiels :

  • Un éditeur de texte suffit
  • Il faut donner les droits d'exécution au fichier
  • Le lancement du script se fait par son nom : ./hello.sh
  • Un script commence toujours par #!<shell>, qui permet de définir le chemin du shell utilisé
    1. ! Le shabang indique que c'est un script
  • Un commentaire bash se fait avec #