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 ble lansert 7. juni 1989.[11] Siste versjon er 5.2.37 som ble lansert 23. september 2024.

POSIX-kompatibelt

rediger

Bourne Again Shell er et POSIX-kompatibelt skall, og har vært brukt av mange operativsystemer. Det er standard skall for innlogging på de fleste Linuxdistribusjoner (herunder Android).[12][13]

Bash brukes også av mikrokjernen GNU Hurd. Det har blitt portert til openVMS,[14] til ArcaOS,[15] til det tidligere operativsystemet BeOS og til etterfølgeren Haiku.

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

Bash ble også tatt i bruk av den tidligere UNIX-avarten IRIX,[19] og også av HP-UX, for å nevne noen eksempler på UNIX-avarter.[20] 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.[21]

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.[22] I WSL2 og Windows 11 ble bash erstattet av PowerShell.

Bash har tidligere også vært standard skall på macOS; i macOS Catalina (10.15), som ble lansert 7. oktober 2019, ble Z shell (Zsh) nytt standard skall.[23][24]

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).[25]

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

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

Versjonshistorikk

rediger
Versjon Dato
1.13.5
1.14 6. februar 1994
1.14.1 8. juli 1994
1.14.2 23. august 1994
1.14.3 4. januar 1995
1.14.4 19. april 1995
1.14.5 18. juli 1995
1.14.6 12. desember 1995
1.14.7 29. august 1996
2.0.0 31. desember 1996
2.0.1 5. juni 1997
2.0.2 18. april 1998
2.0.3 12. februar 1999
2.0.4 21. mars 2000
2.0.5 9. april 2001
2.0.5a 16. november 2001
2.0.5b 17. juli 2002
3.0 8. august 2004
3.0.16 7. desember 2005
3.1 8. desember 2005
3.2 11. oktober 2006
3.2.48 7. mars 2009
3.2.57 7. november 2014
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
5.1 6. desember 2020
5.1.8 15. juni 2021
5.1.12 4. januar 2022
5.1.16 4. januar 2022
5.2 6. september 2022
5.2.9 7. november 2022
5.2.15 13. desember 2022
5.2.21 9. november 2023
5.2.32 2. august 2024
5.2.37 23. september 2024
5.3 22. april 2024 (alpha)

Referanser

rediger
  1. ^ «Index of /gnu/bash». Besøkt 4. desember 2024. 
  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 on 2011-07-06, 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. ^ 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 
  12. ^ Bresnahan, Christine; Blum, Richard (April 2015). CompTIA Linux+ Powered by Linux Professional Institute Study Guide: Exam LX0-103 and Exam LX0-104 (3rd utg.). John Wiley & Sons, Inc. s. 5. ISBN 978-1-119-02122-3. Arkivert fra originalen 2. mars 2021. Besøkt 6. juni 2016. «In Linux, most users run bash because it is the most popular shell.» 
  13. ^ Danesh, Arman; Jang, Michael (februar 2006). Mastering Linux. John Wiley & Sons, Inc. s. 363. ISBN 978-0-7821-5277-7. Arkivert fra originalen 2. mars 2021. Besøkt 6. juni 2016. «The Bourne Again Shell (bash) is the most common shell installed with Linux distributions.» 
  14. ^ «Installing the new GNU packages». 4. september 2020. Arkivert fra originalen . 
  15. ^ «Compatibility Subsystems». Arkivert fra originalen 23. september 2020. Besøkt 4. september 2020. 
  16. ^ Selecting a Default Shell, docs.oracle.com
  17. ^ PATH on solaris 8 (bash), unix.com,
  18. ^ «User Environment Feature Changes». Oracle. 
  19. ^ IRIX bash shell expands expression in single quotes, yet shouldn't, stackoverflow.com,
  20. ^ bash-4.3.033. The GNU Project's Bourne Again Shell, hpux.connect.org.uk
  21. ^ Bash as default shell for Netware user, serverfault.com,
  22. ^ «How to install Bash shell command-line tool on Windows 10». 28. september 2016. 
  23. ^ «Use zsh as the default shell on your Mac - Apple Support». Besøkt 1. juli 2019. 
  24. ^ Warren, Tom (4. juni 2019). «Apple replaces bash with zsh as the default shell in macOS Catalina». The Verge. Besøkt 13. juni 2019. 
  25. ^ Chazelas, Stephane (4. oktober 2014). «oss-sec mailing list archives». Seclists.org. Besøkt 4. oktober 2014. 
  26. ^ 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. 
  27. ^ 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. 
  28. ^ Seltzer, Larry (29. september 2014). «Shellshock makes Heartbleed look insignificant». ZDNet. Arkivert fra originalen 14. mai 2016. 

Eksterne lenker

rediger