Software-update: Bash 5.0

Bash kan gebruikt worden als shell op een groot aantal Linux-, Unix-, en BSD-systemen en kan gebruikt worden om commando's via een een commandline-interface in te voeren. Een overzicht van wat Bash nog meer kan en doet, kan in deze handleiding worden gelezen. De ontwikkelaars hebben versie 5.0 uitgebracht voorzien van de volgende aankondiging:

New Features

This is the fifth major release of bash.

Read the file NEWS in the bash-5.0 distribution for a complete description of the new features. A copy of the relevant portions is included below.

This release fixes several outstanding bugs in bash-4.4 and introduces several new features. The most significant bug fixes are an overhaul of how nameref variables resolve and a number of potential out-of-bounds memory errors discovered via fuzzing. There are a number of changes to the expansion of $@ and $* in various contexts where word splitting is not performed to conform to a Posix standard interpretation, and additional changes to resolve corner cases for Posix conformance.

The most notable new features are several new shell variables: BASH_ARGV0, EPOCHSECONDS, and EPOCHREALTIME. The `history' builtin can remove ranges of history entries and understands negative arguments as offsets from the end of the history list. There is an option to allow local variables to inherit the value of a variable with the same name at a preceding scope. There is a new shell option that, when enabled, causes the shell to attempt to expand associative array subscripts only once (this is an issue when they are used in arithmetic expressions). The `globasciiranges' shell option is now enabled by default; it can be set to off by default at configuration time.

There are a few incompatible changes between bash-4.4 and bash-5.0. The changes to how nameref variables are resolved means that some uses of namerefs will behave differently, though I have tried to minimize the compatibility issues. By default, the shell only sets BASH_ARGC and BASH_ARGV at startup if extended debugging mode is enabled; it was an oversight that it was set unconditionally and caused performance issues when scripts were passed large numbers of arguments.

Bash can be linked against an already-installed Readline library rather than the private version in lib/readline if desired. Only readline-8.0 and later versions are able to provide all of the symbols that bash-5.0 requires; earlier versions of the Readline library will not work correctly.

A complete list of changes between bash-4.4 and bash-5.0 is available in the file CHANGES; the complete list is too large to include in this message.
Versienummer 5.0
Releasestatus Stable
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
Website The GNU Bourne-Again Shell
Download ftp://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz
Licentietype GPL

Door Japke Rosink

Meukposter

08-01-2019 • 10:08

5 Linkedin

Submitter: begintmeta

Bron: The GNU Bourne-Again Shell

Update-historie

01-'19 Bash 5.0 5
02-'09 Bash 4.0 10
07-'04 Bash 3.0 4

Reacties (5)

5
5
3
0
0
2
Wijzig sortering
Zou bash naar de kernel gekeken hebben?
Die is ook plots van 4.x naar 5 gegaan

downloads: Linux Kernel 5.0-rc1

Het zal vast niet, maar wel grappig

[Reactie gewijzigd door rickdtop op 8 januari 2019 10:27]

volgens mij word dit wel vaker gedaan, zodat die nummer in de pas blijven lopen. bash 5 voor kernel 5
heb zo geen voorbeelden maar zie dit bij meer software voorkomen
Dit staat volkomen gescheiden van elkaar.
Aangezien bash net zo prima draait op macOS, FreeBSD, Minix, IBM AIX en Haiku heeft bash niet zo gek veel te maken met Linux (of welke kernel heb je het over?).

De reden dat Bash naar 5.0 is gegaan is vanwege de nieuwe features en breaking changes die je in het changelog kunt lezen.
Ik ben ermee bekend dat het gescheiden dingen zijn, mijn excuses als je mijn reactie zo opvat. Ik vond het namelijk grappig dat ze beide zo vlak achter elkaar plots naar 5 gingen.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee