Odborníci z Penn State University zkoumají způsob ukládání informací na lepicí pásku. Principiálně by podle nich bylo možné kombinací odlepení a zpětného přilepení dosáhnout uložení informace, kterou opětovným odlepením dokážou přečíst. Výhodou je, že způsob uložení i přečtení je čistě mechanický. Zde o tom referují ve volně dostupném článku. Zajímavé bude sledovat zda se jim v rámci výzkumu podaří prokázat použitelnost i v jiné než
… více »Na GitHubu byl publikován reprodukovatelný návod, jak rozchodit Adobe Lightroom CC na Linuxu a Wine. Návod byl vytvořený pomocí AI Claude Code.
Pokud by někdo potřeboval Wayland kompozitor uvnitř počítačové hry Minecraft, aby mohl zobrazovat okna desktopových aplikací přímo v herním prostředí, může sáhnout po Waylandcraftu. Ukázka na YouTube.
Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Mam za domaci ukol udelat "aplikaci" v bashi. Jenze mi nejde vyresit vstup od uzivatele
Nize je uvedena funkce pomoci, ktere nacitam data zadana z klavesnice. Funkce dostava 3 parametry: Dotaz, Pozadovanou delku, Preddefinovanou hodnotu. Uzivatel zada sve jmeno a z nej se mu usekne alias. Pak zavolam funkci s parametry
vstup=$(UserInput "Zadej svoji prezdivku (preddefinovana je ${generatedAlias}: " 6 ${generatedAlias})
Navratova hodnota je bud zadana nova a nebo ponechana preddefinovana - stisknut enter. Problem nastava ve funkci na radku s podminkou
if, kde porovnavam delku vstupniho textu. Script skonci s hlaskou
[: 12: unary operator expected , ale kdyz kod vykopiruju do samostatneho souboru bez funkce vsechno funguje.
Vseobecne jsem zjistil pri bastleni ze vetsina problemu je spojena s programem read. Kdyz ho dam do funkce tak mi nejde ani vystup na stdout pomoci echo. Chtel jsem mit v te funkci jeste podminku kdy pri zadani textu kratsiho nez pozadovana delka se vypise hlaske proc byl text neakceptovan. Vystup se nezobrazuje ale zobrazi se az ve chvili kdy dojde ke spravnemu nasteni a ukonceni funkce. Snad jsem vsechno popsal a najde se tu nekdo kdo bude ochotny pomoct.
function UserInput {
querystr=$1
lengthVal=$2
predefVal=$3
while [ 1 ]; do
read -p "$querystr" setVal
if [ ${#setVal} -ge ${lengthVal} ]; then
echo ${setVal}
break;
else
echo ${predefVal}
break;
fi
done
}
${#setVal} expanduje na 12, ale to není příčina té chyby. Opravdu jste poslal aktuální kód? Mně ten váš kód funguje, jak má.
Doporučuji ověřit, že skript začíná #!/bin/bash.
Dále doporučuji používat [[ … ]] namísto [ … ] (vysvětlení třeba zde).
Další užitečná věc pro ladění skriptů je nastavit set -e -u.
Zaprvé, zanedbávání uvozovek dá člověku rázně a nečekaně pěstí, když to nečeká. Bez uvozovek nemá smysl v Bashi programovat. Zadruhé, když je to Bash, není důvod používat klikaté konstrukty starodávného shellu; Bash má na většinu úkonů lepší prostředky. Zatřetí, smysl toho cyklu mi uniká. Je tam podmínka, kde se v každé možné větvi volá break. Tam cyklus nemá smysl. (V Bashi se nekonečný cyklus vyrobí nejsnáze pomocí for ((;;)); do :; done, ale jak říkám, cyklus tady nemá smysl.)
UserInput() {
local -r querystr="$1"
local -ri lengthVal="$2"
local -r predefVal="$3"
local setVal
read -p "$querystr" setVal
if ((${#setVal} >= lengthVal)); then
echo "$setVal"
else
echo "Délka zadaného řetězce '${setVal}' (${#setVal})" \
"je kratší než ${lengthVal} -> volím implicitní hodnotu" \
"'${predefVal}'." 1>&2
echo "$predefVal"
fi
}
generatedAlias="blah-${RANDOM}"
vstup="$(UserInput \
"Zadej svoji přezdívku (předdefinovaná je '${generatedAlias}'): " \
6 "${generatedAlias}")"
echo "Proměnná 'vstup' má hodnotu '${vstup}'."
Tiskni
Sdílej: