Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).
Byla vydána nová major verze 5.0 účetního softwaru GnuCash (Wikipedie). Ve formátu Flatpak je již k dispozici na Flathubu.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Alwa's Awakening (ProtonDB).
Byla vydána verze 3.28.0 2D CAD (computer-aided design) softwaru QCAD (Wikipedie). Přehled novinek v Changelogu.
Změna ve vedení společnosti SUSE. Dosavadní CEO Melissa Di Donato odstoupila. Od 1. května je novým CEO Dirk-Peter van Leeuwen, bývalý Senior Vice President a General Manager ve společnosti Red Hat.
CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag). Vydána byla nová major verze 10 (aktuálně 10.4.0). Přehled novinek v Changelogu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-1 Focal založené na Ubuntu 20.04 Focal Fossa.
Společnost Red Hat slaví 30 let.
Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).
Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.
POLE=("nazdar" "bazar" "ahoj") CELKEM=${#POLE[*]}Jak ale udělám to, když název toho pole mám uložený v nějaké proměnné? Poradil by prosím někdo? Zkoušel jsem to takto ale nejde mi to
NAZEV="POLE10" CELKEM=${#NAZEV[*]}Děkuji za pomoc
eval
. Nevypadá to hezky, protože se dost escapuje, ale funguje to. Protože mi to připadá jako domácí úkol, nepřišlo by mi úplně fér Vám rovnou dát hotové řešení, lepší bývá naťuknout. Kdybyste se zasekl, tak se ozvěte.
NAZEV="POLE10" CELKEM=${#${!NAZEV}[*]}
eval
. Zkusím požďuchnout ještě o kousek více. Když se podíváte do manu
, eval
vyhodnotí argumenty a pošle vše shellu zpátky přechroupané. Tzn. vyescapujte to, co chcete, aby prošlo eval
dál a nechte ho, aby vám nahradil pouze proměnnou odkazující na jméno pole. Pomohlo to?
NAZEV="POLE" eval CELKEM='${#'$NAZEV'[*]}' # nebo eval CELKEM=\${#$NAZEV[*]}Ale nejdřív je potřeba zkontrolovat obsah proměnné NAZEV než pustíš ten eval (pokud ho nenastavuješ na konstantu), jinak to je bezpečnostní díra.
Tiskni
Sdílej: