Portál AbcLinuxu, 9. května 2025 17:47
Vyšel Bash 4.0. Opravuje zbývající vážné chyby 3. řady a přináší asociativní pole, vylepšení parseru a různé další novinky.
Tiskni
Sdílej:
Sekce BUGS v bash(1)
začíná větou
It's too big and too slow.
Jsem zvědav, jestli verze 4 opravuje i tuto chybu. Ale podle popisu asi spíš ne…
There is a new &>> redirection operator, which appends the standard output and standard error to the named file.Trikrát hurá! :)
**
mi naopak připadá jako hodně nešťastný nápad, protože to přináší nekompatibilitu se staršími verzemi a může to rozbít existující skripty.
Ano, '**
' je ekvivalentní '*
'. Je to samozřejmě nezvyklý zápis, ale ty masky mohou často vznikat všelijak, například je může generovat sám skript nebo jiný program. A pak tam taková věc může snadno vzniknout.
Je to bezesporu užitečná funkce, ale IMHO nestojí za porušení zpětné kompatibility a potenciální znefunkčnění existujících skriptů. Přitom by stačilo, aby se musela zapnout něčím na způsob nullglob
nebo extglob
.
**
' je defaultně vypnutá a musí se explicitně povolit pomocí shopt globstar
.
Začínám mít pocit, že se někdo zbláznil…
There is a new shell option: `dirspell'. When enabled, the filename completion code performs spelling correction on directory names during completion.
O bashi se asi brzy začnou říkat podobné hlášky jako kdysi o emacsu.
Naštěstí je to jen doplňování a ne globbing.
Mě včera zarazila nápověda k install z coreutils-7.1:
This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1).
Mám dojem, že Shuttelworth útočí!
Já jsem třeba docela šťastný s readlinovým completion-ignore-case, možná by nebylo až tak zlé, kdyby to uměl i bash. Tedy, samozřejmě nějak nenásilně. Oprava chyb se hodí taky, při rozumné implementaci.
No, to jistě, ale to taky není dokonalé.
Modelový příklad, mějme adresář XMonad a soubor xmonad.cabal v jednom adresáři (ze života, jak vidno, dokonce), napišme cd a xmo, stiskněme tab. Vzhledem k existenci xmonad.cabal se nám tam doplní xmonad, jenže když teď stiskneme enter, tak se dostaneme leda… nikam. A doplňování už mi teď nedokáže nijak pomoct. Intuitivně bych to mohl zachránit dopsáním /, jenže to nepomůže, a tab doplňování už to nezvětší. Já musím na to velké X pamatovat už na začátku (nebo nejpozději u M). Případně si zřejmě zapnout cyklení nad nejednoznačným doplňováním, ale to taky nechci.
shopt -s cdspell
k dirspell
nebylo tak daleko, žejo :) Prostě se akorát prování průběžně během doplňování, což je intelitentnější verze opravy ex post (po odentrování).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.