Vyšel GNU Bash 5.0 s řadou novinek
Linuxu se často vytýká, že nemá jednotné nebo alespoň převládající grafické uživatelské prostředí. To je jistě pravda, kdyby se některý z desktopů nebo okenních správců byť jen blížil popularitě shellu /bin/bash, měl by vyhráno.V textovém prostředí v Linuxu totiž bash jasně vede.
Bash vznikl už na konci osmdesátých let v rámci projektu GNU. Původní cíl byl celkem jednoduchý: vytvořit shell, v němž by běžely stávající skripty z výhozího unixového Bourne shellu, proto také název Bourne-again shell. Tento cíl byl za třicet let vývoje bohatě naplněn a několikanásobně překonán. Dnes je tak bash výchozím interaktivním příkazovým řádkem v naprosté většině linuxových distribucí a od verze 10.3 například i v macOS (dříve OS X, ještě dříve Mac OS X).
Abych jen nehýřil superlativy, sluší se připomenout chybu Shellshock, která byla objevena v září 2014 a umožnila s trochou snahy případnému útočníkovi neautorizovaný přístup k postiženému systému, nicméně tato kritická závada je snad jedinou opravdu významnější skvrnou na pověsti Bashe. O to smutnější je, že v jeho kódu byla ukryta pravděpodobně již od roku 1989.
Dosti ale historie, co přináší zbrusu nová verze?
- Nové proměnné
EPOCHSECONDS
aEPOCHREALTIME
, které udává počet sekund respektive mikrosekund od začáku Unix epochy. - Externí příkazy
rm
,stat
afdflags
nově existují v built-in variantě. - Příkaz
history -d
, kterým se maže z historie vykonaných příkazů nově rozumí rozsahům od-do a záporným číslům. První smaže příkazy v zadaném rozsahu, druhé maže od konce historie zpět. - Nová systémová proměnná
$BASH_ARGV0
, jejíž hodnota odpovídá proměnné$0
(název aktuálně běžícího shellu) a lze jejím prostřednictvím$0
modifikovat. - Zabudovaný příkaz
wait
nyní s pomocí parametru-f
umí čekat na ukončení procesu, ne jen na změnu jeho stavu. - Zabudovaný příkaz
umask
nově umí režimy a masky vyšší než oktalové 777. - Nově lze při kompilaci bashe nastavit výchozí délku historie příkazů ($HISTSIZE) v config-top.h
- V interaktivním shellu klávesa Insert (je-li na dané platformě dostupná) přepíná režim přepisu znaků a vkládání znaků mezi již zadané znaky (knihovna readline).
Tento výčet samozřejmě není kompletní, jedná se jen o stručný výběr. Celkový seznam novinek najdete na webu Cheta Rameye, maintainera projektu. A pokud se vám nechce čekat, až k vám bash 5.0 dorazí jako balík ve vaší oblíbené distribuci, najdete tamtéž i odkaz ke stažení zdrojových kódů.
Diskuse ke článku Vyšel GNU Bash 5.0 s řadou novinek