Bash 5.0 vyšel s mnoha novinkami a vylepšeními

Vývojáři uvolnili novou verzi shellu Bash s číselným označením 5.0. Přináší řadu oprav, ale i mnoho novinek. Vylepšuje například práci s historií, přidává nové užitečné proměnné a lépe odpovídá specifikaci POSIX.
Sdílet
Bash (Bourne Again Shell) vyšel poprvé v roce 1989 jako náhrada Bourne shellu v projektu GNU. Jedná se o implementaci shellu podle standardu IEEE POSIX, která umožňuje interaktivní provádění příkazů, psaní skriptů a řízení úloh (jobs). Po deseti letech (!) od vydání předchozí major verze bylo oznámeno vydání Bash 5.0.
Nová verze opravuje chyby z předchozího vydání Bash 4.4. Podařilo se nalézt problémy se správou paměti nebo odstranit problémy s expanzí $@
a $*
v některých kontextech. Bash by měl být také v lepším souladu s normou POSIX v některých okrajových případech.
Novinka také přidává celou řadu nových vlastností. Kompletní seznam změn naleznete v opravdu hodně dlouhém seznamu, který má celkem téměř deset tisíc řádek a novinky pro verzi 5.0 z toho zabírají asi 800 řádek. Podíváme se společně na to nejdůležitější, co nová verze přinesla.
Nové proměnné
Proměnná BASH_ARGV0
obsahuje název shellu nebo skriptu, podobně jako $0
.
Proměnná EPOCHSECONDS
obsahuje počet sekund unixové epochy, takzvaný unixový čas.
Proměnná EPOCHREALTIME
obsahuje unixový čas, podobně jako EPOCHSECONDS
. Na rozdíl od něj jde ale o údaj udávaný s mikrosekundovou přesností reprezentovaný desetinným číslem.
Proměnné HISTSIZE
je nově možné nastavovat výchozí hodnotu už během kompilace.
Nové vlastnosti
Příkaz history
dokáže odstraňovat celé skupiny záznamů reprezentované rozsahem. Použijte -d start-end
. Rovněž rozumí záporným argumentům, které reprezentují pořadí záznamu od konce.
Součástí zdrojových kódů je soubor config-top.h
, ve kterém je možné nově definovat statický obsah proměnné $PATH
. Obsahem se pak přepíše obsah proměnné prostředí při startu shellu. To se hodí v restriktivních nasazeních.
Ve stejném konfiguračním souboru je pak možné zapnout volbu, která způsobí automatické odesílání záznamů z historie do syslogu.
-
- Angular frontend developer
- .NET Core Developer - API, microservices, platební terminály
- IT / AV technik pro konference
- Programátor JAVA
- Product manager pro pracovní portály
- Delivery Manager neboli Agile Master
-
- Psaní velkých písmen jako pravopisná hrůza hrůz?
- Vizuální myšlení
- NLP koučink - kompletní kurz
- Vzdělávání jako součást života
- Kritické myšlení 8 - Racionální komunikace a argumentace
- Knihovny na SharePointu 1: co je to knihovna a jak do ní dostat soubory
Volba globasciiranges
je nyní ve výchozím stavu zapnutá, vypnout je možné ji během kompilace. Předchází problémům s nečekaným abecedním pořadím v některých locales.
Nová užitečná volba assoc_expand_once
dovoluje jen jednu expanzi prvků asociativního pole, jsou-li použity například uvnitř aritmetického výrazu.
Vestavěný příkaz wait
má nyní parametr -f
, který umožňuje čekat na ukončení specifikované úlohy nebo procesu.
Nekompatibilní změny
Dejte pozor na to, že některé změny zanášejí nekompatibilitu mezi verzemi 4.4 a 5.0. Bylo například upraveno chování zpracování proměnné nameref
, která se tak může v některých případech chovat jinak. Brání například vytváření proměnných s nevalidními jmény.
Při zapnutém debuggovacím režimu shell nastavuje jen proměnné BASH_ARGC
a BASH_ARGV
. Staré chování lze vynutit volbou, ale předání velkého množství proměnných může vést k výkonnostním problémům.
Podrobnosti o všech změnách naleznete v dokumentaci, která byla také aktualizována. Chet Ramey poznamenává, že se snažil minimalizovat dopady změn, které zavádějí nekompatibilitu.
Související články
Autor článku
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.
-
- Java Developer
- PYTHON vývojář pro vývoj AI
- Angular frontend developer
- Systémový specialista
- Delivery Manager neboli Agile Master
- Development Team Lead pro ERP systém
-
- NLP koučink - kompletní kurz
- Vzdělávání jako součást života
- Zkušenosti generála tajné služby: Práce s lidmi
- Kritické myšlení 8 - Racionální komunikace a argumentace
- Knihovny na SharePointu 1: co je to knihovna a jak do ní dostat soubory
- Kritické myšlení 2 - Jak hacknout rozhodování - intuice vs. algoritmy
Dále u nás najdete
Internet Info Root.cz (www.root.cz)
Informace nejen ze světa Linuxu. ISSN 1212-8309
Copyright © 1998 – 2019 Internet Info, s.r.o. Všechna práva vyhrazena.