Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Byla vydána (𝕏) nová verze 2025.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.
Dánské ministerstvo pro digitální záležitosti má v plánu přejít na Linux a LibreOffice [It's FOSS News].
V úterý Google vydal Android 16. Zdrojové kódy jsou k dispozici na AOSP (Android Open Source Project). Chybí (zatím?) ale zdrojové kódy specifické pro telefony Pixel od Googlu. Projekty jako CalyxOS a GrapheneOS řeší, jak tyto telefony nadále podporovat. Nejistá je podpora budoucích Pixelů. Souvisí to s hrozícím rozdělením Googlu (Google, Chrome, Android)?
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
if $a < $b; then echo "a < b" fiprosim vas ako ? najeko sa stale mocem dokola a nejde mi to ...?
if [ $(bc << EOF $a < $b EOF ) -eq 1 ]; then echo "a < b" else echo "a > b" fi
[ $(dc <<<"[1pq]sa$a $b>a0p") -eq 1 ] && echo "a < b" || echo "a > b"
function rnle() { test `echo -e "$1\\n$2" | sort -g | head -n 1` = $1 } function rnge() { test `echo -e "$1\\n$2" | sort -g | head -n 1` = $2 }
rnlt() { if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ] then rngt ${1:1} ${2:1} return $? fi IFS='.' a=($1) b=($2) [ ${a[0]} -lt ${b[0]} ] && return 0 [ ${a[0]} -gt ${b[0]} ] && return 1 i=0 while : do [ -z "${a[1]:$i:1}" -a -n "${b[1]:$i:1}" ] && return 0 [ -z "${b[1]:$i:1}" ] && return 1 [ ${a[1]:$i:1} -lt ${b[1]:$i:1} ] && return 0 let i++ done } rngt() { if [ ${1:0:1} == '-' -a ${2:0:1} == '-' ] then rnlt ${1:1} ${2:1} return $? fi IFS='.' a=($1) b=($2) [ ${a[0]} -gt ${b[0]} ] && return 0 [ ${a[0]} -lt ${b[0]} ] && return 1 i=0 while : do [ -n "${a[1]:$i:1}" -a -z "${b[1]:$i:1}" ] && return 0 [ -z "${a[1]:$i:1}" ] && return 1 [ ${a[1]:$i:1} -gt ${b[1]:$i:1} ] && return 0 let i++ done }Teda zatím to není úplně blbuvzdorné a používá se to.
rnlt $a $b && echo 'a < b' || echo 'a >= b'
function rnle() { [ ${1/.*} -lt ${2/.*} ] && return 0 [ ${1/.*} -gt ${2/.*} ] && return 1 if [ ${1:0:1} = '-' ]; then [ ! ${1#*.}0 \> ${2#*.}0 ] else [ ! ${2#*.}0 \> ${1#*.}0 ] fi }
$ rnle 3.45 3.345 && echo OK OK $ rnle 3 3.345 && echo OK $Nicméně, když na to teď s odstupem koukám, tak je to fakt hnus, co takhle:
rnle() { IFS='.' a=($1) b=($2) [ $a -lt $b ] && return 0 [ $a -gt $b ] && return 1 if [ ${a:0:1} == '-' ] then a[0]=${b[1]} b=${a[1]} else a=${a[1]} b=${b[1]} fi for((i=${#a};i<${#b};i++)); do a=${a}0; done for((i=${#b};i<${#a};i++)); do b=${b}0; done [ $a -ge $b ] && return 1 return 0 }
function rnle() { [ ${1/.*} -lt ${2/.*} ] && return 0 [ ${1/.*} -gt ${2/.*} ] && return 1 if [ ${1:0:1} = '-' ]; then [ ! ${2#*.}0 \> ${1#*.}0 ] else [ ! ${1#*.}0 \> ${2#*.}0 ] fi }
rnlt() { if [ ${1/.*} -ne ${2/.*} ] then [ ${1/.*} -lt ${2/.*} ] elif [ ${1:0:1} = '-' ] then [ ${1#*.}0 \> ${2#*.}0 ] else [ ${2#*.}0 \> ${1#*.}0 ] fi }Tak dnešní kontest jsi vyhrál
function rnlt() { celacast_1=`echo $1|cut -d. -f 1`; descast_1=`echo $1|cut -d. -f 2`; celacast_2=`echo $2|cut -d. -f 1`; descast_2=`echo $2|cut -d. -f 2`; if [ $celacast_1 -eq $celacast_2 ] then if [ $celacast_1 -lt 0 ] then descast_1=`expr -1 \* $descast_1`; descast_2=`expr -1 \* $descast_2`; fi [ $descast_1 -lt $descast_2 ]&& return 0; return 1; else [ $celacast_1 -lt $celacast_2 ]&& return 0; return 1; fi }
${variable#pattern}
, ${variable%pattern}
a používat IFS
by ušetřilo hodně zbytečných subprocesů.
Tiskni
Sdílej: