Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.
Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.
TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.
Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.
Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.
Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.
Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.
Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.
local, nebo toto použít při jejich přiřazení.
echo. Některé bere "-e" jako argument, jiné ne. Nemůžete tedy spolehlivě vypsat "-e". -- to neinterpretuje jako konec argumentů. Zbývá tedy použít print, echo je prostě nebezpečné. Můžou za to v podstatě GNU rozšíření přidávající různé argumenty. Pak taky demence, která uřezává znaky nových řádků z výstupu programu do proměnné. Musíte pak v podstatě řešit hacky typu použití print pro vypsání náhodného znaku za příkazem, a ten pak odříznout. Další programy přidávají newline úmyslně. takže musíte odříznout ten znak a jeden newline. Bash ale sám odřízne všechny newline znaky, co jsou nakonci.
#!/bin/sh
for FILENAME_BASE64 in $(find . -type d -exec base64_fn.sh {} \;)
do
FILENAME=$(printf '%s' "${FILENAME_BASE64}" | base64 -d; printf x)
FILENAME="${FILENAME%?}"
printf '%s\n' "${FILENAME}"
done
base64_fn.sh:
#!/bin/sh
printf '%s' "${1}" | base64
echo -e "$(echo -ne "ABCDEFGH" | hexdump -ve '1/1 " x%02x"' | tr ' ' '\\')"Oba potřebné program busybox má. Navíc odpadá program na zpětný převod, (ba)sh ji udělá sám.
echo -e? V busyboxu funguje, ale v dashi:
$ echo -e "\x41\x42\x43\x44\x45\x46\x47\x48\x0a" -e \x41\x42\x43\x44\x45\x46\x47\x48\x0a
x%03o pro oktal čísla. Sežere to pak
$ printf '%s' "ABCDEFGH" | hexdump -ve '1/1 " %03o"' | tr ' ' '\\' \101\102\103\104\105\106\107\110 $ printf '%b' "\101\102\103\104\105\106\107\110" ABCDEFGH
dashi:
jardik@Jardik-PC:~/Downloads$ dash $ printf "\x41\x42\x43\x44\x45\x46\x47\x48\x0a" \x41\x42\x43\x44\x45\x46\x47\x48\x0a $ type printf printf is a shell builtin $
00 0A.
# Handle symlinks
PROGRAM="$0"
while [ -L "$PROGRAM" ]; do
PROGRAM=`readlink -f "$PROGRAM"`
printf 'symlink to: %s\n' "\"${PROGRAM}\""
done
printf 'cd to: %s\n' \""`dirname \"$PROGRAM\"`"\"
cd "`dirname \"$PROGRAM\"`"
Autor se snažil být chytrý a počítal se symlinkama. Snaží se dostat adresář, kde se nachází spouštěný skript. A nepochodil. Můj se nachází v /home/jardik/Apps/FreeRapid-0.9u4<newline>, a on se snaží cd do /home/jardik/Apps/FreeRapid-0.9u4, který neexistuje.
znak nového řádku v názvu souboru může použít jen nějaký šťouraNo právě - když hrozí, že zpracováváš soubory od náhodných útočníků ze sítě…
Hodně programátorů zapomíná používat uvozovky a pak se jim skripty rozbíjejí při prvním výskytu mezery v názvu souboru (ahoj autotools!). Když né mezery, tak se to zas rozbije, pokud je v názvu souboru znak nového řádkuOno napsat v bashi skript který přežije newlines v názvech souborů je dost komplikované.
Třeba echo. Některé bere "-e" jako argument, jiné ne.-n je ještě lepší, to neprojde snad nikde.
Tak kde to teda nefunguje?Vždyť sis sám odpověděl přesně tím co jsem napsal - všude.
Tiskni
Sdílej: