Diit.cz - Novinky a informace o hardware, software a internetu

Vyšel GNU Bash 5.0 s řadou novinek

V linuxovém světě nejpoužívanější příkazový řádek a skriptovací jazyk se dočkal nové velké verze. Co můžeme očekávat nového?

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 a EPOCHREALTIME, které udává počet sekund respektive mikrosekund od začáku Unix epochy.  
  • Externí příkazy rm, stat a fdflags 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ů.

Tagy: 
Zdroje: 

Martin Kukač

Většinu dne trávím tím, že přeměňuju kofein na kód. Když s tím skončím a ještě není čas jít spát, tak zbylý čas nerovnoměrně dělím mezi rodinu, sbírku počítačového harampádí, vysílání na volně přístupných pásmech a geocaching.

více článků, blogů a informací o autorovi

Diskuse ke článku Vyšel GNU Bash 5.0 s řadou novinek

Žádné komentáře.