Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
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" doneVypise 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: