Navigace se soukromím CoMaps postavena nad OpenStreetMap je nově k dispozici v Google Play, App Store i F-Droid. Jedná se o komunitní fork aplikace Organic Maps.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.49.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.
Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Signály zaslané skriptu můžeme odchytávat pomocí příkazu
trap
.
trap příkaz signál
- jestliže jako příkaz
uvedeme znak "-
", nastaví se pro signál
původní
akce a když ''
, neprovede se nic (trap -l
vypíše signály, které lze odchytnout).Vyzkoušejte skript trap.sh
.
#!/bin/bash konec() { echo -n "Uklízím" i=0 while [ "$i" -le 10 ]; do i=$((i + 1)) echo -n "." sleep 0,1 done echo echo "Konec" } trap '' INT echo "Ctrl+C neudělá nic" sleep 3 trap - INT echo "Ctrl+C ukončí skript" sleep 3 trap 'konec; exit 0' INT echo "Ctrl+C spustí funkci konec a ukončí skript" sleep 3 konec echo "Skript proběhl až do konce" exit 0 |
Následující módy shellu nám mohou usnadnit ladění.
verbose
- před vykonáním příkaz vypíšextrace
- jako předchozí, ale napřed provede expanzi;
$PS4
na začátku řádku určuje
stupeň expanzenounset
- je-li použita nedefinovaná proměnná, ukončí
běh skriptu a vypíše chybovou hlášku
#!/bin/bash set -o verbose echo $PWD set -o xtrace echo $PWD echo $(pwd) set +o verbose set +o xtrace set +o nounset echo $nedefinovana_promena set -o nounset echo $nedefinovana_promena echo "Tento řádek se již nevypíše" exit 0 |
Nyní si skript ladeni.sh
spustíme a podíváme se na
jeho výpis.
$ ./ladeni.sh echo $PWD /root/fuky/clanky/bash set -o xtrace echo $PWD + echo /root/fuky/clanky/bash /root/fuky/clanky/bash echo $(pwd) pwd ++ pwd + echo /root/fuky/clanky/bash /root/fuky/clanky/bash set +o verbose + set +o verbose + set +o xtrace ./ladeni.sh: nedefinovana_promena: unbound variable |
Máme libovolnou adresářovou strukturu a v ní jsou uložené soubory *.wav, *.ogg a *.mp3.
ogg
Vytvoříme si skript oggwavmp3.sh
.
#!/bin/bash case "$1" in *.wav ) #cesta="${1%/*}/" cesta=$(echo $1 | sed 's/^\(.\+\/\)\([^/]\+wav\)$/\1/') if [ -d "${cesta}ogg" ]; then : else mkdir "${cesta}ogg" fi #soubor="${1%.*}.ogg" #soubor="${soubor##*/}" soubor=$(echo $1 | sed 's/^\(.\+\/\)\([^/]\+\)\.wav$/\2.ogg/') oggenc "$1" -Q -b 192 -o "${cesta}ogg/$soubor" ;; *.ogg ) #soubor="${1%.*}.wav" soubor=$(echo $1 | sed 's/\(.\+\)\.\(ogg\)$/\1.wav/') if [ "$soubor" ]; then sox "$1" "$soubor" rm "$1" fi ;; *.mp3 ) #soubor="${1%.*}.wav" soubor=$(echo $1 | sed 's/\(.\+\)\.\(mp3\)$/\1.wav/') if [ "$soubor" ]; then mpg123 "$1" -q -w "$soubor" rm "$1" fi ;; * ) ;; esac exit 0 |
Do souboru ~/.bashrc
si přidáme alias a po dalším
spuštění shellu můžeme začít využívat náš nový příkaz.
alias oggwavmp3='find -type f | xargs -i ~/bash/oggwavmp3.sh {}'
|
Na závěr si zkuste udělat hru Oběšenec. Nastavení hry se provádí pomocí konfiguračního souboru. Lze vybrat, zda se bude rozlišovat diakritika či velikost písmen. Slova či věty jsou uloženy v souborech podle složitosti a jedna z možností nastavení je právě výběr jen některých souborů se slovy (větami). A nakonec je zde i možnost časového omezení při zadávání znaku (příkazu) - v případě, že čas vyprší, bude hráč ihned oběšen. Samozřejmě, že vám dám k dispozici i mé řešení obesenec-1.1.tgz, ale podívejte se na něj až problém sami vyřešíte nebo budete-li opravdu v úzkých.
A to je z našeho seriálu opravdu vše . Máte poslední možnost zeptat
se na věci, které se do našeho seriálu nevešly, nebo se na ně zapomnělo.
Děkuji všem, kteří seriál průběžně komentují.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
basename
a dirname
. Jo a jen tak mimochodem, nejsou to regulerni, ale regulárni vyrazy.
sleep 0,1
nemelo by tam by sleep 1?
Takhle to chybuje:
Uklízím.sleep: invalid time interval `0,1' Více informací získáte příkazem `sleep --help'. .sleep: invalid time interval `0,1' Více informací získáte příkazem `sleep --help'. .sleep: invalid time interval `0,1'atd.
Díky za upozornění, nějak se mi tam vloudil překlep, místo čárky tam má být tečka sleep 0.1