Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
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: