Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani
… více »Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.
NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.
Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.
Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
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.
oggVytvoří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.
)
> Vubec se nechytaji, kdyz nekdo bude chtit prevedet soubory
bez zapisu cesty - v aktualnim adresari (tj. napr. prikazem
"oggwavmp3.sh *.wav") nebo (i kdyz je to prasarna, ale i s
tim by se melo pocitat) soubory v korenovem adresari (tj.
napr. prikazem "oggwavmp3.sh /1.wav")
POZOR asi jste si nevšiml aliasu, ten skript je dělaný pro
něj:
alias oggwavmp3='find -type f | xargs -i ~/bash/oggwavmp3.sh {}'
Vlezu si do adresáře obsahující soubory, které chci převést a
zadám pouze
$ oggwavmp3
, vytvoření argumentů nechám na příkazu find
)
> basename, dirname
Díky za připomínku, existuje mnoho řešení a já zrovna zvolil to
složitější, člověk se stále učí a nikdo neví vševědoucí
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