Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.
openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.
Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.
Google Chrome 120 byl prohlášen za stabilní. Nejnovější stabilní verze 120.0.6099.62 přináší řadu oprav a vylepšení (YouTube). Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Byla vydána nová verze 2023.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Vypíchnout lze podporu Cloud ARM64, Vagrant Hyper-V a Raspberry Pi 5.
Společnosti IBM, Meta a dalších vice než 50 zakládajících členů (bez Microsoftu a OpenAI) vytvořili mezinárodní alianci AI Alliance pro spolupráci na vývoji a rozvoji otevřené, bezpečné a odpovědné umělé inteligence.
Služba pro hlídání uniklých hesel Have I Been Pwned oslavila 10. výročí. Troy Hunt ji spustil 4. prosince 2013 (Twitter).
Programovací jazyk HTML.
Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.
#!/bin/bash echo "Třeba něco vypisuji."Pokud byste chtěl používat parametry typu
-o abc
, podívejte se na man getopt
.
#!/bin/bash #parsování parametrů příkazové řádky PARAMETRY=`getopt -q -o o:h:s:v: -- "$@"` if [ $? != 0 ] ; then echo "Chybně zadané parametry" ; exit 1 ; fi eval set -- "$PARAMETRY"; #připravení výchozích hodnot proměnných DIR="comments" HOD="hodnoceni.txt" STUD="students.txt" while true ; do case "$1" in -o) DIR="$2" ; shift 2;; -h) HOD="$2" ; shift 2;; -s) STUD="$2" ; shift 2;; -v) if [ -n "$2" ] ; then VAR="$2" ; fi ; shift 2;; --) shift ; break ;; *) echo "Neznámý parametr" ; exit 2 ;; esac done #nyní máte v proměnných $DIR, $HOD, $STUD, $VAR potřebné hodnoty (případně $VAR není definována) echo $DIR echo $HOD echo $STUD echo ${VAR:-"-- nezadáno --"}Pomůžou vám k tomu
man bash
, man getopt
, man test
Zde je žádaný kanón na vrabce
volby="-o tl:" getopt -Qq $volby -- "$@" || exit 1; eval set -- `getopt -q $volby -- "$@"`; ... while [ $# -gt 1 ]; do case $1 in -l) něco, když je -l param; shift 2;; -t) parametr -t; shift 1;; *) něco jíného; shift;; esac done
#!/bin/bash volby="-o t1:" getopt -Qq $volby -- "$@" || exit 1; eval set -- `getopt -q $volby -- "$@"`; while [ $# -gt 1 ]; do case $1 in -l) echo "tohle je parametr l"; shift 1;; -t) echo "parametr -t"; shift 1;; *) echo "něco jiného"; shift;; esac donetakhle jsem to přepsal, ale po spuštění a zadání například ./pokus.sh -l mi to nic nevypíše, ale třeba pro -t ano. nevíte kde je zrada?
volby="-o t1:"tam dej:
volby="-o tl:"(dvojtečka za "l" znamená, že ten přepínač bude chtít argument)
Zrada je také v prvním použití getopt
s parametrem pro tichý výpis a také, že pokud selže, tak se celý skript ukončí (|| exit 1;
).
#!/bin/bash TEMP=`getopt -o o: -n 'ukazka2' -- "$@"` if [ $? != 0 ] ; then echo "Koncim..." >&2 ; exit 1 ; fi eval set -- "$TEMP" while true ; do case "$1" in -o) echo "Volba o, argument \`$2'" ; shift 2 ;; --) shift ; break ;; *) echo "Internal error!" ; exit 1 ;; esac done echo "Zbyvajici argumenty:" for arg do echo '--> '"\`$arg'" ; doneV originalni verzi najdete i spoustu vysvetlujich komentaru. Spis bych doporucil vydat se timto smerem.
A kde je tam vidíte?
Spis bych doporucil vydat se timto smerem.
Naprosto souhlasím, ten můj původní kód jsem totiž pouze vykopíroval z jednoho skriptu a pouze doplnil komentáře - do skriptu se totiž vše předávalo pomocí voleb, takže jsem část za (případným) --
s klidem ignoroval.
getopt -Qq $volby -- "$@" || exit 1; eval set -- `getopt -q $volby -- "$@"`;
getopt -Qq $volby -- "$@" || exit 1;
Spustí getopt
s danými volbami a otestuje jejich správnost (a v případě chyby nic nevypíše) - pokud nastane chyba (neznámý parametr atp.), tak je skript ukončen (spojka ||
).
eval set -- `getopt -q $volby -- "$@"`;
Nastaví upravené parametry (tj. např. -ab
rozdělí na 2 samostatné: -a
a -b
atd.) do proměnných $1
, $2
...
Tiskni
Sdílej: