Pro testování byl vydán 4. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).
Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.
TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.
Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.
Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.
Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).
Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.
Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.
Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je
… více »myArray=("cat" "dog" "mouse" "frog")
A=("a" "b" "c")
A+=("d")
ls *.mp3 | sort -R | while read i; do
A+=( "$i" );
echo $i
done
for i in ${A[@]}; do
echo "--- $i"
done
Vypise to len a b c d, nic z toho while cyklu.
Řešení dotazu:
for i in $(ls *.mp3 | sort -R); do
A+=("$i")
done
myArray=("cat" "dog" "mouse" "frog")
A=("a" "b" "c")
A+=("d")
while read i; do
A+=( "$i" );
echo $i
done < <(ls *.mp3 | sort -R)
for i in "${A[@]}"; do
echo "--- $i"
done
#!/bin/bash
clear
A=()
while read i; do
A+=( "$i" );
done < <(ls *.mp3 | sort -R)
for i in "${A[@]}"; do
echo "$i"
mplayer -really-quiet "$i" 2>/dev/null
done
while není „podprogram“. (Existuje taky „nadprogram“?) Problém není while, nýbrž dýmka. Bez dýmky se dá z while přistupovat k proměnným.
Mimochodem: Nikdy neparsuj výstup z ls.
mp3s=()
while IFS= read -r mp3; do
mp3s+=("$mp3")
done < <(for mp3 in *.mp3; do
printf '%s\n' "$mp3"
done | shuf)
for i in "${!mp3s[@]}"; do
printf '%u --- %s\n' "$i" "${mp3s[i]}"
done
./a.sh: line 4: syntax error near unexpected token `('
./a.sh: line 4: `done << (for mp3 in *.mp3; do'
GNU bash, version 5.1.16(1)
Kde přesně jsem napsal „<< (“? Nikde to v mém kódu nevidím.
Doporučuji Copy&Paste; pomáhá to.
Pokud nemáš k dipozici lepší formát, tak bych ty prvky oddělil nulovým bajtem:
while read -d '' i; do A+=("$i"); done < <(find -maxdepth 1 -type f -name '*.mp3' -print0 | sort -zR)
Protože v názvu souboru může být víceméně libovolná změť bajtů kromě nulového bajtu (mj. aby to mohl být céčkovský řetězec) a lomítka (protože to je oddělovač v cestě k souboru). Tzn. kromě mezer, uvozovek a apostrofů tam můžou být i znaky konce řádku. Což dokáže zavařit např. i bash-completion:
$ touch "ko kos" $ ls -1 'ko'$'\n''kos' $ rm ko<TAB> ko kos
Tiskni
Sdílej: