Bourne Again Shell (forkortet Bash) er et fritt og åpent Unix-skall og kommandospråk. Det ble skrevet av Brian Fox for GNU-prosjektet som en fri og åpen erstatning for Bourne Shell.[5][6] Skallets navn er et humoristisk ordspill med Bourne Shell som det erstatter[7] og religiøse begrepet «født på nytt» (born again).[8][9]

Bash
Skaper(e)Brian Fox
Utvikler(e)GNU-prosjektet
Utgitt 8. juni 1989
Nyeste versjon5.2.37 (23. september 2024)[1]
Kodelagerhttps://git.savannah.gnu.org/gitweb/?p=bash.git
PlattformX86_64,[2] i686[2]
OperativsystemGNU/Linux BSD macOS Microsoft Windows GNU/Hurd Unix-liknende multiplattform
Skrevet iC[3]
OS-familieBourne Shell
TypeUnix-skall
LisensGPL-3.0+[4]
Oversettelsesbidraghttps://translationproject.org/domain/bash.html
Nettstedwww.gnu.org (en)
tiswww.case.edu (en)

Det forutgående Unix-skallet Bourne Shell ble lansert i januar 1979 sammen med UNIX versjon 7. Det ble regnet som en «industristandard» på Unix og Unix-lignende operativsystemer, men programvarelisensen var uklar og omdiskutert.[10]

Bash er en kommandolinjeprosessor som vanligvis kjører i en terminalemulator hvor brukeren skriver kommandoer som forårsaker handlinger. Bash kan også lese og utføre kommandoer fra en datafil. Det sistnevnte kalles et skallskript. På samme måte som andre Unix-skall, støtter det globbing av filnavn (jokertegn), piping, here document, kommandoerstatning, variabler og kontrollstrukturer for testing av betingelser og iterasjon. Nøkkelord, syntaks og andre grunnleggende egenskaper ved språket er alle kopiert fra Bourne Shell. Andre egenskaper, som for eksempel history (huske tidligere kommandoer), er kopiert fra C shell og KornShell.

Bourne Again Shell er standard skall for innlogging på de fleste Linuxdistribusjoner (herunder Android).

Det har tidligere også vært standard skall på macOS; i macOS Catalina (10.15) ble imidlertid Z shell (Zsh) nytt standard skall.[11][12]

Bourne Again Shell ble lansert 7. juni 1989.[13] Siste versjon er 5.0 som ble lansert 7. januar 2019.

POSIX-kompatibelt

rediger

Bash er et POSIX-kompatibelt skall, og har vært brukt av mange operativsystemer.

UNIX-avarten Solaris 7, som ble lansert 4. november 1998, hadde tre typer skall: Bourne shell (standard), C shell og Korn shell.[14] Solaris 8 ble lansert 26. januar 2000 og erstattet Bourne Shell med Bourne Again Shell.[15] Solaris 11.4, som ble lansert 26. august 2018, benyttet fortsatt bash.[16]

Bash ble også tatt i bruk av den tidligere UNIX-avarten IRIX,[17] og også av HP-UX, for å nevne noen eksempler på UNIX-avarter.[18] Nevnes bør også frie og åpne varianter av Berkeley Software Distribution (BSD) som også har tatt i bruk Bourne Again Shell: 386BSD, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, med flere.

Bash (og C shell) var også tilgjengelig på det tidligere nettverksoperativsystemet Novell Netware. Da måtte det imidlertid skje gjennom en emulator via en dataterminal.[19]

Gjennom POSIX-bibliotekene Cygwin og MinGW ble bash gjort tilgjengelig for Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 7, Windows 8 og Windows 8.1.

Skallet er også blitt portert til MS-DOS gjennom 32-biter DOS-utvideren DJGPP.

Gjennom kompatibilitetslaget Windows Subsystem for Linux (WSL) ble bash gjort tilgjengelig for Windows 10 og Windows Server 2019.[20] I WSL2 og Windows 11 ble bash erstattet av PowerShell.

Eliminasjon av sikkerhetshull

rediger

Et sikkerhetshull i Bash stammet fra versjon 1.03 (august 1989), og var fortsatt tilstede i versjon 4.3 (26. februar 2014).[21]

Det fikk kallenavnet Shellshock, og ble oppdaget 12. september 2014. Det førte hurtig til en rekke dataangrep over internett.[22][23][24]

En rekke patcher som ordnet feilen ble tilgjengelig den 24. september 2014.

Versjonshistorikk

rediger
Versjon Dato
1.14.7 29. august 1996
2.0.0 31. desember 1996
4.0 20. februar 2009
4.1 31. desember 2009
4.2 13. februar 2011
4.2.53 7. november 2014
4.3 26. februar 2014
4.3.30 7. november 2014
4.4 16. september 2016
4.4.5 16. november 2016
4.4.12 13. oktober 2017
4.4.18 30. januar 2018
5.0 7. januar 2019

Referanser

rediger
  1. ^ https://ftp.gnu.org/gnu/bash/.
  2. ^ a b GNU Guix, 1.4.0, Guix Variable Name bash, Wikidata Q18968627, https://guix.gnu.org/ 
  3. ^ «The bash Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 3. september 2018. 
  4. ^ «Licensing of Bash». Besøkt 3. oktober 2016. 
  5. ^ Richard Stallman (forwarded with comments by Chet Ramey) (February 10, 1988), GNU + BSD = ?, https://groups.google.com/forum/#!original/comp.unix.questions/iNjWwkyroR8/yedr9yDWSuQJ, besøkt March 22, 2011 
  6. ^ Hamilton, Naomi (30. mai 2008), «The A-Z of Programming Languages: BASH/Bourne-Again Shell», Computerworld: 2, arkivert fra originalen. Error: If you specify |archiveurl=, you must also specify |archivedate=, https://web.archive.org/web/20110706103704/http://www.computerworld.com.au/article/222764/a-z_programming_languages_bash_bourne-again_shell/?pp=2&fp=16&fpid=1, besøkt 21. mars 2011, «When Richard Stallman decided to create a full replacement for the then-encumbered Unix systems, he knew that he would eventually have to have replacements for all of the common utilities, especially the standard shell, and those replacements would have to have acceptable licensing.»  «Arkivert kopi». Arkivert fra originalen 6. juli 2011. Besøkt 26. oktober 2015. 
  7. ^ C Programming by Al Stevens, Dr. Dobb's Journal, July 1, 2001
  8. ^ Richard Stallman (12. november 2010). «About the GNU Project». Free Software Foundation. Arkivert fra originalen 24. april 2011. Besøkt 13. mars 2011. «"Bourne Again Shell" is a play on the name Bourne Shell, which was the usual shell on Unix.» 
  9. ^ Gattol, Markus (13. mars 2011), Bourne-again Shell, arkivert fra originalen on 9. mars 2011, https://web.archive.org/web/20110309092607/http://www.markus-gattol.name/ws/bash.html, besøkt 13. mars 2011, «The name is a pun on the name of the Bourne shell (sh), an early and important Unix shell written by Stephen Bourne and distributed with Version 7 Unix circa 1978, and the concept of being "born again".» 
  10. ^ A. Related Shells, docstore.mik.ua,
  11. ^ «Use zsh as the default shell on your Mac - Apple Support». Besøkt 1. juli 2019. 
  12. ^ Warren, Tom (4. juni 2019). «Apple replaces bash with zsh as the default shell in macOS Catalina». The Verge. Besøkt 13. juni 2019. 
  13. ^ Brian Fox (forwarded by Leonard H. Tower Jr.) (June 8, 1989), Bash is in beta release!, http://groups.google.com/group/gnu.announce/msg/a509f48ffb298c35?hl=en, besøkt October 28, 2010 
  14. ^ Selecting a Default Shell, docs.oracle.com
  15. ^ PATH on solaris 8 (bash), unix.com,
  16. ^ «User Environment Feature Changes». Oracle. 
  17. ^ IRIX bash shell expands expression in single quotes, yet shouldn't, stackoverflow.com,
  18. ^ bash-4.3.033. The GNU Project's Bourne Again Shell, hpux.connect.org.uk
  19. ^ Bash as default shell for Netware user, serverfault.com,
  20. ^ «How to install Bash shell command-line tool on Windows 10». 28. september 2016. 
  21. ^ Chazelas, Stephane (4. oktober 2014). «oss-sec mailing list archives». Seclists.org. Besøkt 4. oktober 2014. 
  22. ^ Leyden, John (24. september 2014). «Patch Bash NOW: 'Shell Shock' bug blasts OS X, Linux systems wide open». The Register. Besøkt 25. september 2014. 
  23. ^ Perlroth, Nicole (25. september 2014). «Security Experts Expect ‘Shellshock’ Software Bug in Bash to Be Significant». The New York Times. Besøkt 25. september 2014. 
  24. ^ Seltzer, Larry (29. september 2014). «Shellshock makes Heartbleed look insignificant». ZDNet. Arkivert fra originalen 14. mai 2016. 

Eksterne lenker

rediger