Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
[ "$a" == "1" ] && . /tmp/a || exit 1 test "$a" == "1" && . /tmp/a || exit 1
if expr then do-true else do-false, i když v tomto případě se to bude chovat pravděpodobně tak jak chceš (pokud se $a nerovná 1 a nebo pokud zklame source, tak exit)
if [[ "$a" == "1" ]]; then echo true; else echo false; fi if [ "$a" == "1" ]; then echo true; else echo false; fi
exit 1 provede i v případě, že "selže" hned první příkaz, za druhé porovnávání na rovnost u příkazu test (a hranaté závorky jsou jen synonymum pro test) se provádí operátorem "=", ne "==".
if [ "$a" = "1" ]; then echo true; else echo false;ale prostě rovnost se snad všude vyhodnocuje pomocí == tak mi to nejde psát jen =, proto raději všechno jedu na [[ ]], možná by mě to i nakopalo, ale když test v bash-i funguje i s == :(
proto raději všechno jedu na [[ ]]A jaký je rozdíl mezi [] a [[]] ? Dík
[" je jen alias pro standardní příkaz test, který je v bashi k dispozici jako builtin. Rozdíl je jen v tom, že vyžaduje, aby byl poslední parametr "]" (a ignoruje ho). Varianta se zdvojenými závorkami je rozšíření bashe, které se chová trochu odlišně a nabízí některá rozšíření (a kromě jiného také podporuje "==" pro porovnávání).
Je to návod pro bash a je správně, tam platí '==' (i '=').
příkaz test v bash-i nevolá příkaz /usr/bin/test, ale BULITIN příkaz test je to stejný případ jako time, viz man bash a SHELL BUILTIN COMMANDS.
test 2 == 2 && echo kukvs.
"$(which test)" 2 == 2 && echo kuk(which viz man which)
Conditional expressions are used by the [[ compound command and the test and [ builtin commands.
....When used with ‘[[’, the ‘<’ and ‘>’ operators sort lexicographically using the current locale. The test command uses ASCII ordering.
....
string1 == string2
string1 = string2
True if the strings are equal. ‘=’ should be used with the test command for POSIX conformance.
-eq, -ne a spol.
I keď sú podobné jednoriadkové zápisy úsporné a niekedy užitočné, v skutočných skriptoch zložitejších ako triviálnych sa držím plnej viacriadkovej syntaxe s patričným odsadzovaním, mená premenných zátvorkujem kučeravými zátvorkami, mená súborov ukladám do premenných, etc. Je to mierne viac práce pri písaní skriptu, ale keď sa k nemu po pol roku vrátim - zvyčajne som už medzi tým zabudol, že skript vôbec existuje, nie to ešte ako presne funguje - ušetrí mi to zdĺhavú kryptoanalýzu existujúceho kódu.
Nakoniec, je skutočne potrebné skriptovať v bash-i? Nestačil by obyčajný sh? Podľa mňa by v sa v bash-i mali skriptovať iba veci, na ktoré sh buď nestačí, alebo by riešenie v sh bolo signifikantne zložitejšie a zároveň by v bash-i mal skriptovať iba ten, kto vie, kde je hranica medzi sh a bash. V prípade použitia bash-u si treba uvedomiť negatívne dôsledky, najmä prenositeľnosť: zatiaľ čo na Linuxe je bash de-facto štandard, na iných unixoch a unix-like systémoch čaká autorov bash skriptov nepríjemené prekvapenie, najmä v enterprise prostredí, kde musíte inštaláciu každého balíčka navyše rozumne zdôvodniť. Na druhej strane ale uznávam, že to je asi ten najmenší problém prenositeľnosti skriptu. Kto skúsil, vie.
YMMV
Tiskni
Sdílej: