CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Bourne-Again shell - Wikipédia

Bourne-Again shell

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
Session de travail en bash
Agrandir
Session de travail en bash

Bash, acronyme de Bourne-again shell, est l'interprète de commandes libre du projet GNU. Son nom est un jeu de mots (Bourne again / born again, « né de nouveau » ou encore « réincarné ») sur le shell historique d'Unix, le Bourne shell. Basé sur ce dernier, il apporte de nombreuses améliorations, provenant notamment du Korn shell et du C shell.

Son auteur original est Brian Fox de la Free Software Foundation, relayé plus tard par Chet Ramey. Le Bourne shell original fut écrit par Steve Bourne.

Bash est un logiciel libre publié sous licence GPL. Il est l'interprète par défaut sur de nombreux Unix libres, notamment sur les systèmes GNU/Linux. C'est aussi le shell par défaut de Mac OS X et il a été porté sous Windows par le projet Cygwin.

Bash utilise la bibliothèque readline ce qui lui permet, comme le C shell, de compléter automatiquement les noms de commandes et de fichiers lors d'une frappe sur la touche TAB, ce qui accélère considérablement le travail. Les touches UP et DOWN permettent de naviguer avec facilité dans l'historique des commandes.

La version 3.0 est sortie le 28 juillet 2004.

[modifier] La boucle d'interprétation

Le travail de tout interprète de commande peut se résumer à l'algorithme très simple suivant:

TANT QUE l'utilisateur ne ferme pas la session FAIRE

  1. émettre un signe d'invite (prompt)
  2. lire la ligne courante
  3. exécuter la commande indiquée sur cette ligne

FIN

La fermeture de session se fera par la commande "exit" ou un "^D" (la marque de fin de fichier sous UNIX: l'utilisateur ferme le flux de lecture de l'interprète, mettant fin à la boucle).

Chaque commande respecte les contraintes suivantes:

  1. le premier mot de la ligne est interprété comme le nom de la commande, les autres mots en sont les paramètres ou options;
  2. chaque mot est séparé par un ou plusieurs caractères de séparation. Par défaut, ces caractères sont l'espace et la tabulation (modifiable grâce à la variable d'environnement IFS)
  3. la fin de la commande est marquée, soit par un ";" (si l'on veut placer plusieurs commandes sur la même ligne), soit par un saut de ligne.

[modifier] Évaluation d'une commande

Le premier mot de la ligne est donc considéré par l'interprète comme un nom de commande. Mais il en existe de plusieurs sortes, avec différents types de priorité. Dans l'ordre décroissant de priorité:

  1. un alias: c'est un mot défini comme synonyme d'un autre (groupe de) mot(s). Dans ce cas, l'interprète commence par remplacer le mot par son équivalent.
  2. une commande interne: c'est une commande qui a été définie dans l'interprète lui-même, elle ne fait pas l'objet d'un programme séparé. Par exemple, la commande "cd" (change directory) est une commande interne du shell.
  3. une commande externe, c'est-à-dire un programme (ou un fichier de commande, en général appelé script) stocké sur le disque de la machine. Par exemple, "/bin/ls" est la commande qui permet de lister les fichiers contenus dans un répertoire donné.

Dans le cas d'une commande externe, le shell doit retrouver le programme avant de pouvoir l'exécuter. Il est clair qu'une recherche exhaustive, pour chaque commande, dans tout le système de fichiers prendrait beaucoup trop de temps et rendrait le système inutilisable dans la pratique. C'est la raison pour laquelle seul un petit ensemble de répertoires est en fait consulté lors de la recherche du programme permettant l'exécution de la commande. Ces répertoires sont définis dans une variable d'environnement appelée "PATH" (chemin). Si la commande n'est pas trouvée dans l'un des répertoires listés dans le PATH, l'exécution se soldera par un message d'erreur du type "command not found".

ATTENTION: contrairement à ce qui se passe sous Windows, les shell UNIX (et donc bash) n'incluent pas implicitement le répertoire courant dans le PATH, il peut y être placé explicitement.

[modifier] Liens externes

Portail des logiciels libres – Accédez aux articles de Wikipédia concernant les logiciels libres.
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com