Domén s koncovkou .CZ je už 1,5 miliónu. K registraci domény s pořadovým číslem 1 500 000 došlo včera krátce před půlnocí. Počet domén se dynamicky vyvíjí podle toho, jak jsou registrovány nebo naopak rušeny. Proto je v tuto chvíli jejich počet opět nižší.
Byla vydána beta verze Ubuntu 25.04 s kódovým názvem Plucky Puffin. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.04 mělo vyjít 17. dubna 2025.
Textový editor Neovim byl vydán ve verzi 0.11 (𝕏). Přehled novinek v příspěvku na blogu a poznámkách k vydání.
Živé ISO obrazy Debianu Bookworm jsou 100 % reprodukovatelné.
Boudhayan "bbhtt" Bhattcharya v článku Uzavření kapitoly o OpenH264 vysvětluje, proč bylo OpenH264 odstraněno z Freedesktop SDK.
Představeny byly nové verze AI modelů: DeepSeek V3-0324, Google Gemini 2.5 a OpenAI 4o Image Generation.
XZ Utils (Wikipedie) byly vydány ve verzi 5.8.0. Jedná se o první větší vydání od backdooru v XZ v loňském roce.
Byla vydána nová verze 0.40.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 2.20 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.3.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je interaktivní HTML BOM (Bill of Materials) a počáteční podpora Rustu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
if [ -f /aaa/bbb/ccc/x.xxx ] if [ -f "/aaa/bbb/ccc/x.xxx" ] if [ -f "$A"/bbb/ccc/"$X" ] if [ -f "$A/bbb/ccc/$X" ] SS=0 SS="0" if [ -f "$SS" == 0 ] if [ -f "$SS" == "0" ] if [ -f $SS == 0 ] DD="/cyx/cyxcc/cyxcyx" DD=/cyx/cyxcc/cyxcyx
Pokud budu "-f
" na 7.-9. řádku považovat za copy&paste error a odmyslím si ho, tak špatně není žádný. Tedy budu-li předpokládat, že proměnná SS
nemůže nabývat jiné hodnoty, než jakou jste jí přiřadil (ale pak je zase zbytečný ten test).
Obecně je potřeba použít uvozovky tam, kde výsledek expanze může obsahovat mezeru nebo něco jiného, co by mohlo ovlivnit word splitting, tj. např.
file=abc def # chyba: spustí příkaz def s proměnnou file nastavenou na abc file="abc def" # OK if [ -f $file ]; then # chyba: příkaz dostane tři parametry místo dvou if [ -f "$file" ]; then # OK
Jsou ale situace, kdy to naopak chcete:
files="/etc/passwd /etc/group /etc/shadow /etc/gshadow" cp -va $files /media/blabla/
if [ -f $file ]; then # chyba: příkaz dostane tři parametry místo dvouNejlepší je to v případě, kdy ti tam někdo narve smysluplné parametry pro
[
:
file="neexistující -o 1 -eq 1"; [ -f $file ] && echo brm
if [ -f "$SS" == 0 ] if [ -f "$SS" == "0" ] if [ -f $SS == 0 ]ale problém není v uvozovkách. Zbytek je správně.
-f
" je tam ještě to zdvojené "==
", které nemá u klasického test
/[
co dělat.
if [ "$SS" == 0 ] if [ "$SS" == "0" ] if [ $SS == 0 ]je to špatně? Díky
[ výraz ] - délka řetězce je nenulová [ -z výraz ] - délka řetězce je nulová [ výraz1 == výraz2 ] - řetězce jsou shodné [ výraz1 != výraz2 ] - řetězce jsou různé [ výraz1 -eq výraz2 ] - čísla jsou shodná [ výraz1 -le výraz2 ] - výraz1 <= výraz2 [ výraz1 -lt výraz2 ] - výraz1 < výraz2 [ výraz1 -ge výraz2 ] - výraz1 >= výraz2 [ výraz1 -gt výraz2 ] - výraz1 > výraz2 [ výraz1 -ne výraz2 ] - čísla jsou různé
= should be used with the test command for POSIX conformance
if [ "a" = "a" ]; then echo "equal"; else echo "no-equal"; fi if [ "a" != "a" ]; then echo "equal"; else echo "no-equal"; fiNesprávně a fungující (, ale nemůžeme se na to spolehnout):
if [ "a" == "a" ]; then echo "equal"; else echo "no-equal"; fiNásledující ale už ne:
if [ "a" !== "a" ]; then echo "equal"; else echo "no-equal"; fiale bash-ismy (tedy fungující v bash-i):
if [[ "a" == "a" ]]; then echo "equal"; else echo "no-equal"; fi if [[ "a" != "a" ]]; then echo "equal"; else echo "no-equal"; fiNesprávně a fungující (, ale nemůžeme se na to spolehnout - alespoň podle mého man-u):
if [[ "a" = "a" ]]; then echo "equal"; else echo "no-equal"; fiale bacha na rozdíly, třeba:
if [ "011" -lt "10" ]; then echo "011 < 10"; else echo "011 NOT < 10"; fi if [[ "011" < "10" ]]; then echo "011 < 10"; else echo "011 NOT < 10"; fiA klidně je možné, že jsem taky napsal něco šptaně, takže ověřovat si vždy v dokumentaci
man test
, pro [[ ]] viz man bash
.
man test
je také dobré nepřehlédnout
NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here.
což s ohledem na to, že Bash ten vlastní vestavěný test opravdu má, je v podstatě výzva k návštěvě help test
Tiskni
Sdílej: