V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.
Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).
MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.
Dobrý den,
chtěl bych Vás všechny poprosit o pomoc. Dostal jsem následující zadání:
V jazyce příkazového interpretu ’shell’ (Bourne-Again SHell) napište program sort.sh,
realizuje jednuduchý program pro třídění textových souborů (viz man sort). Nezapomeňte
na ošetření chybného formátu vstupních dat.
Bohužel je to mimo mé síly a už nevím na koho bych se obrátil. Vážne bych si cenil, kdyby jste mi jakkoliv pomohli. Jsem už docela zoufalý.
Děkuji za každou radu.
František Štolba
sort.sh:
#!/bin/bash sort $*
Zadání to IMHO zcela vyhovuje... 
taky mě to napadlo jako první, ale neodvažoval jsem to tu napsat aby se toho nechytl.
No za 5 nevím, přijde mi to jako správné řešení. Proč psát něco, co je dávno hotové, otestované, navíc v céčku? V praxi bys použil přesně takové řešení, škola by si neměla vymýšlet blbosti.
A sort nemá potřebné kontroly implementované?
Jistě, leč to je právě problém školství, že se žáci učí často na krávovinách. Kdyby zadání bylo smysluplné, i žáci by je možná raději a ochotněji řešili. Proč by si ale učitel neusnadnil život, že..
Nakonec sem to dal dohromady hlavně díky kamarádovy. A pana učitele bych se chtěl zastat. Je to jeden z těch lepších učitelů.
Kdyby to někoho zajímalo tak sem to vytvořil takto:
#!/bin/bash
if test $# -ne 1
then
echo "Zadejte prosim cestu k souboru!"
exit
fi
# Overeni existence souboru
if test -f $1
then
soubor=$1
else
echo "Soubot neexistuje!!!"
exit 0
fi
# Nactemem radky ze souboru do pole
i=0
pole=[]
while read radka; do
pole[$i]=$radka
i=$(expr $i + 1)
done <$soubor
#######
prohodit()
{
local pomocna=${pole[$1]}
pole[$1]=${pole[$2]}
pole[$2]=$pomocna
return
}
#######
#Pocet prvku v poli, pocet kroku cyklu
pocet_prvku=${#pole[@]}
echo "Pocet radku: $pocet_prvku"
let "pocet_kroku = $pocet_prvku - 1"
while [ "$pocet_kroku" -gt 0 ]
do
index=0
while [ "$index" -lt "$pocet_kroku" ]
do
if [ ${pole[$index]} \> ${pole[`expr $index + 1`]} ]
then
prohodit $index `expr $index + 1`
fi
let "index += 1"
done
let "pocet_kroku -= 1"
done
# Vypsani serazeneho pole
i=0
while [ "$i" -lt "$pocet_prvku" ]
do
echo ${pole[$i]}
let "i += 1"
done
exit 0
Tiskni
Sdílej: