Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) upozorňuje na hrozbu spojenou s používáním mobilní aplikace WeChat a její čínské verze Weixin (dále jen WeChat). Ta sbírá velký objem uživatelských dat, a právě to by – v kombinaci se způsobem jejich sběru – mohlo sloužit k přesnému zacílení kybernetických útoků.
LibreQoS je svobodná aplikace vhodná pro poskytovatele internetové připojení pro rezervaci a řízení datových toků zákazníků (QoS - Quality of Service, QoE - Quality of Experience). Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2. Aktuální verze je 1.4.
Byla vydána Beta 1 verze KDE 6 (Plasma, Frameworks a Gear) postavené na Qt 6. Testovat lze například v distribuci KDE Neon. Stabilní verze je plánována na konec února 2024. Předchozí velké vydání 5 vylo vydáno téměř před 10 lety (červenec 2014).
Open-source webmail Roundcube se připojil k balíku aplikací Nextcloudu. Převzetí firmou Nextcloud ale plánováno není, pouze integrace a podpoření vývoje.
Stability AI představila SDXL Turbo, tj. umělou inteligenci pro generování obrázků z textového popisu v reálném čase, viz ukázka na YouTube.
Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové major verzi 6. Přehled novinek i s náhledy a videi v oficiálním oznámení a na GitHubu (6.0.0, 6.0.1).
S eDoklady lze mít od ledna 2024 občanku v mobilní aplikaci [Digitální a informační agentura – DIA].
Google představil novou doménu nejvyššího řádu: .meme. Viz například knowyour.meme nebo find.meme.
IKEA představila 3 senzory pro chytrou domácnost: senzor na dveře a okna PARASOLL, bezdrátový pohybový senzor VALLHORN a senzor úniku vody BADRING. Budou kompatibilní s Home Assistant?
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 13.0.0. Přehled novinek v oznámení.
# find /tmp -not -iregex '^/tmp.*' # PARAM="-not -iregex '^/tmp.*'" # find /tmp $PARAM /tmp /tmp/.ICE-unix /tmp/backup.cpio /tmp/mc-root /tmp/.font-unix /tmp/.font-unix/fs7100 # echo $PARAM -not -iregex '^/tmp.*'
<14:53:25> find /tmp -not -iregex '^/tmp.*' <14:53:52> PARAM='-not -iregex ^/tmp.*' <14:54:14> find /tmp $PARAM <14:54:23>
... a escapovat pro bash se mi teda moc nechce...Je uplne jedno ci sa Ti to chce alebo nie.
-x
, t.j. napisat skript z hlavickou
#! /bin/sh -x
$PARAM
se pravděpodobně předá jako jeden parametr, shell už jej nerozdělí na tři. Pokud je akceptovatelné omezení na konkrétní shell, třeba bash, tak řešení je pole:
PARAM=(-not -iregex '^/tmp.*'); find /tmp ${PARAM[@]}
${PARAM[@]}
expanduje právě na řadu oddělených položek z pole.
find /tmp "-not -iregex '^/tmp.*'"
tak find vrátí
find: invalid predicate `-not -iregex '^/tmp.*''
A tedy že pokud by to předalo v jednom parametru, tak by to psal také. Nevím, proč find tuto chybu nehlásil, nicméně s kulatými závorkami to funguje. Díky!
echo $PARAMS
tak to vypíše ty parametry správně, tudíž se tedy expanduje, nebo ne?
Díky za zpřesnení
# a=a; b=b:$a; a=c; echo $b:$a b:a:cAle ono to pro expanzi cest neplatí, jak jsme si myslel, protože ta se koná až úplně na konci po expanzi proměnných ... takže když tam z nějaké proměnné vypadne hvězdička, tak ta se ještě potom expanduje, což jsem předtím myslel, že ne.
No stručně řečeno, mám v tom sám pěkný borčus, jak zjišťuju. Odvolávám, co jsme odvolal a řešení s polem je asi nejlepší. Jen jsem tam myslím nakonec zapomněl uvozovky, správně je to takhle:
# PARAMS=(-not -iregexp '*'); echo "${PARAMS[@]}" -not -iregexp *Bez uvozovek na konci by se hvězdička ještě expandovala. Uvozovky v PARAMS= zas zajistí, že se nebude expandovat při přiřazení. Jak jedny tak druhé uvozovky nakonec zmizí.
Řešení bez pole a bez nutnosti vše escapovat mě teď nenapadá. Protože pokud má být v proměnné víc oddělených parametrů, je nutné ji přesvěčit, aby se jako celek rozsekala (takže ji nejde dát při použití celou do uvozovek), ale zároveň aby se neexpandovaly kusy uvnitř a zároveň aby v ní nezustaly žádné přebytečné uvozovky. A to mě fakt nenapadá jak.
Totiž, ono ten tvůj původní kód má ještě jednu zradu:
# touch \'pokus\' # ls a.txt b.txt c.txt 'pokus' # PARAMS="-not -iregexp '*'"; echo $PARAMS -not -iregexp 'pokus'tedy dokonce ani korektně neescapuje. Teď už fakt nevím přesně proč, ale zdá se, že uvozovka vypadlá z expanze proměnné se chová jako literal uvozovka a ne jako escape. Takže IMO to bez pole nijak normálně nejde. Dokonce i důsledné escapování se chová divně:
# touch \\pokus # ls \pokus # PARAMS="-not -iregexp \*"; echo $PARAMS -not -iregexp \*Tady už fakt nechápu, proč tam zároveň zůstal backslash a zároveň nechytl ten soubor, co skutečně začíná backslashem ...
No, měl jsem pocit, že bash celkem chápu, ale zdá se, že moc ne ... )
Tiskni
Sdílej: