Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.
if [ -f /foo ] then echo "Soubor existuje" else echo "Soubor neexistuje" fi if [ -f /foo ]; then echo "Soubor existuje"; else echo "Soubor neexistuje"; fi
Řešení dotazu:
[-f /foo] && echo "existuje" || echo "neexistuje"
U příkazu echo
není sice příliš pravděpodobné, že by skončil chybou, ale i tak bych důrazně doporučil si na podobné čuňárny nezvykat.
Nemluvě o tom, že takhle vám to skončí už chybou kvůli spuštění neexistujícího příkazu "[-f
".
[ -d Documents ] && cd neexisujici-adr || echo "neexistuje"je to očekávané chování?
if [ -d Documents ]; then cd neexisujici-adr else echo "neexistuje" fitedy původní dotaz.
Problém spočívá v tom, že konstrukce "c1 && c2 || c3
" spustí příkaz c3
nejen v případě, kdy selhal c1
, ale i tehdy, když c1
uspěje a c2
selže. Takže např.
test -f "$dir" && cd "$dir" || echo "$dir neexistuje"
vám bude tvrdit, že adresář neexistuje, i v případě, že adresář sice existuje, ale příkaz cd
selhal z jiného důvodu (třeba že na něj nemáte access).
[ -f /foo ] && (echo "existuje"; exit) || echo "neexistujeAle o moc čitelnější mi to nepřijde
[ -f /foo ] && (echo "existuje"; exit) || echo "neexistuje
Těsně vedle. Ale kdybyste tam měl "exit 0", tak už byste to obešel. Jenže…
Ale o moc čitelnější mi to nepřijde :-)
Přesně tak. Upřímně řečeno, ty operátory mají IMHO smysl jen v jednoduchých konstrukcích typu
cmd1 && cmd2 && cmd3 && cmd4 && ... cmd || exit 1
U čehokoli komplikovanějšího jsou většinou spíš na škodu než k užitku.
Tiskni
Sdílej: