Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
ps aux | grep -v "grep" | grep -q "/home/foo.sh" if [ $? -eq 0 ]; then exit else # echo "pokračuji.." fi
if [$res -lt 2 ]ale nevím jak na to..
if [ $(pgrep -c foo.sh) -eq 0 ]; then
echo nebezi
else
echo bezi
fi
Aj takto je vysledok 0 ? :
#! /bin/bash
if [[ "$(pgrep -c "${0##*/}")" -eq 0 ]]
then
echo nebezi
else
echo bezi
fi
Ja len, ci si nezabudol zamenit foo.sh za nazov tvojho skriptu. Nic v zlom, sa mi aj horsie uz stalo. :)
Ano, stává se to i měJa len, ci si nezabudol zamenit foo.sh za nazov tvojho skriptu. Nic v zlom, sa mi aj horsie uz stalo. :)
ale v tomto případě se to opravdu soubor tak jmenuje. No pokud v tom tvém kodu změním -eq 0 za -eq 1 tak to funguje jak má.. Díky moc
Akurat, ze to v tom pripade nefunguje. Logicky je to nespravne, bo ak je pocet beziacich procesov s tymto nazvom rovny 1, tak dalsi uz nespustim a ak je rovny 0, tak ho spustim a toto je presne moj kod a tvoje zadanie.
Skus dat do svojho kodu nasledovne:
echo '==== kontrola ===='
echo "skript: $0"
echo "vypis procesov:"
ps xau | grep "${0##*/}"
echo '=== koniec ===''
a na zaciatok skriptu, hned za shebang daj
set -x
a daj sem vsetko, co to vypluje.
root@debian:~# ./foo.sh ++ echo '==== kontrola ====' ==== kontrola ==== ++ echo 'skript: ./foo.sh' skript: ./foo.sh ++ echo 'vypis procesov:' vypis procesov: ++ grep foo.sh ++ ps xau root 13932 0.0 0.0 6544 880 pts/2 S+ 17:09 0:00 grep foo.sh ./foo.sh: řádek 7: neočekávaný konec souboru při hledání znaku odpovídajícímu „'“ ./foo.sh: řádek 8: chyba syntaxe: nenadálý konec souboru root@debian:~#
Skor som mal na mysli, ze by si to pridal k tomu svojmu kodu, mozno by sa ukazalo, co sa skutocne deje. U mna to funguje spravne a este minimalne dalsi clovek z tohto vlakna to potvrdil. A najlepsie, tak s uz spustenym procesom a bez taktiez.
if [[ "$(pgrep -c "${0##*/}")" -eq 0 ]]
zkoušel jsem to takto ale nejde to
if [[ "$(pgrep -c "foo.sh")" -eq 0 ]]díky
Ak pouzijes premennu, tak sa nemusis nikdy starat. Ak to das napevno, tak niekomu das kod, pomenuje si skript inak a uz to nepojde, ako ma. A prechadzat skript, ze kde to este je pouzite, ze mi to pada stale, neviem, su aj zaujimavejsie veci, co riesit. Inak napevno, ako si to ukazal, neviem.
p.s.: Ak ti to bezi s jednickou, tak niekde musi byt zrada, ale kod tu cely nie je. Takze to je na tebe.
To nie je ziaden problem, vid nasledujuce (dva skripty, jeden test1.bash a druhy test2.bash ):
#! /bin/bash
source test2.bash "$0"
echo "nazov skriptu z test1.bash: ${0##*/}"
#! /bin/bash
echo "nazov hlavneho skriptu zo sourcovaneho test2.bash: ${1##*/}"
Jednoducho je to iba o predavani parametrov.
if [[ "$(pgrep -c "${0##*/}")" -eq 0 ]]
za tohle
if [[ "$(pgrep -c "foo.sh")" -eq 0 ]]tak to přestane fungovat, proc? Díky
Tiskni
Sdílej: