IKEA představila 3 senzory pro chytrou domácnost: senzor na dveře a okna PARASOLL, bezdrátový pohybový senzor VALLHORN a senzor úniku vody BADRING. Budou kompatibilní s Home Assistant?
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 13.0.0. Přehled novinek v oznámení.
Laboratoře CZ.NIC vydaly novou verzi 4.23.0 aplikace Datovka, tj. svobodné multiplatformní desktopové aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi. Přidána byla podpora pro velkoobjemové datové zprávy (VoDZ) a pro typy datových schránek PFO_ARCH, PFO_AIAT a PFO_AZI. Další novinkou je pamatování velikosti dialogových oken, pozice ovládacích prvků, šířek sloupců a řazení položek
… více »Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 5.20. Mimo jiné aktualizuje Tor Browser (13.0.4) a Thunderbird (115.5), opravuje několik chyb.
Bylo rozhodnuto, že Red Hat Enterprise Linux 10, jehož vydání je plánováno na první pololetí 2025, bude už bez X serverů. Zůstane pouze Xwayland.
Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla minulá týden vydána v nové verzi 2.0.0. Zásadně bylo zmodernizováno uživatelské rozhraní. Přibyla možnost přepínat aplikaci mezi světlým a tmavým režimem. Současně byl publikován rozhovor QaA: Projekt Datovka očima vývojářů.
Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení obrazovky i audia připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 2.3.
Včera skončila upstream podpora PHP 8.0. Podporované verze jsou 8.1, 8.2 a 8.3.
Představen byl herní notebook TUXEDO Sirius 16 - Gen1 s 16,1palcovým displejem s rozlišením 2560 x 1440 pixelů, 8jádrovým CPU AMD Ryzen 7 7840HS a GPU AMD Radeon RX 7600M XT 8 GB. V konfiguraci si lze vybrat až 96 GB RAM. Hmotnost notebooku je 2,3 kg. Koupit jej lze s nainstalovaným TUXEDO OS nebo Ubuntu 22.04 LTS. Cena začíná na 1 699 eurech (41 500 korun).
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní dospěl do verze 1.0.0.
start() { for((;;)) do echo "$(date +%F) @ $(date +%T) :: $(cpuload | awk {'print$2'})%" >> /home/david/stats/now done } stop() { mv /home/david/stats/now /home/david/stats/$(date +%F)-at-$(date +%T).log } restart() { mv /home/david/stats/now /home/david/stats/$(date +%F)-at-$(date +%T).log for((;;)) do echo "$(date +%F) @ $(date +%T) :: $(cpuload | awk {'print$2'})%" >> /home/david/stats/now done }No a díky tomu jsem se dostal k tomu, že neumím ukončit for cyklus. Na začátku
stop()
a restart()
mi to chybí. Nevíte prosím jak na to?
Především by bylo vhodně, dělat restart
voláním procedur stop
a start
, nikoliv copy-paste jejich obsah.
Potom, když je to systémový skript, tak je lepší výsledek ukládat do /var/neco, než do /home
Co takhle nekonečný for
nahradit smyčkou while
a jako podmínku tam dát test existence nejakého souboru? Pokud soubor přestane existovat (tj. ve stop
se smaže), tak se jednoduše ukončí. To by nešlo?
while
smyčku nepsal...
man testa ještě:
[
je hardlink na test
Tak mě napadá, že tam nikde není sleep
. Nebo je už v tom cpuload
?
cpuload
každých 5 sekund zapíše zatížení procesoru do statistiky. Zdrojový kód cpuload
je zde (díky, Doli), /etc/init.d/cpustats
vypadá takto:
start() { cpuloadd & } stop() { if [ -f /home/david/stats/now ] then mv /home/david/stats/now /home/david/stats/$(date +%F)-at-$(date +%T).log killall cpuloadd cpuload else killall cpuloadd cpuload fi } restart() { svc_stop svc_start }a
cpuloadd
obsahuje:
#! /bin/bash doIt() { for((;;)) do echo "$(date +%F) @ $(date +%T) :: $(cpuload | awk {'print$2'})%" >> /home/david/stats/now done } if [ -f /home/david/stats/now ] then mv /home/david/stats/now /home/david/stats/$(date +%F)-at-$(date +%T).log doIt else doIt fi
if [cond] ... doIt else doIt fi
Stejný příkaz v obou větvích ifu?
To si asi nerozumíme. Mě je jedno, co ten příkaz doIt dělá a v jakém je skriptu. Zajímá mě, proč je v obou větvích ifu stejný příkaz (tedy vykoná se, ať podmínka ifu dopadne jakkoliv)
Místo:
if [cond] ... doIt else doIt fi
Lze přece jednoduše psát:
if [cond] ... fi doIt
/var/stats
a když ne, aby jí vytvořil. V manuálu test
u kontrole zda soubor NEexistuje nic není (když neexistuje aby vrátil exit 0 a když jo, tak 1). Musím tedy napsat if
s nějakým zbytečným echem, nebo to test
umí a postačí while
?
ls /var/stats &> /dev/null while [ $? != 0 ] do mkdir -p /var/stats done
if [ ! -f "$FILE" ]; then echo "$FILE not found" fi
Tiskni
Sdílej: