Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.
EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.
Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.
Společnost xAI a sociální síť X amerického miliardáře Elona Muska zažalovaly firmy Apple a OpenAI. Viní je z nezákonné konspirace s cílem potlačit konkurenci v oblasti umělé inteligence (AI).
Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Informace o názvu skriptu, počtu předaných argumentů a argumenty samotné jsou uloženy ve speciálních proměnných.
$0
- název skriptu$#
- počet předaných argumentů$IFS
- seznam znaků, který je použit k oddělování slov
atp., např. když shell čte vstup$1
až $9
- první až devátý argument
předaný skriptu${n}
- libovolný n-tý argument předaný skriptu$*
- obsahuje všechny argumenty oddělené prvním znakem
z $IFS
$@
- jako předchozí, ale k oddělení se nepoužívá první
znak z $IFS
Skript argumenty.sh
nám poslouží jako ukázka.
#!/bin/bash
|
Nyní skript spustíme s 10 argumenty.
$ ./argumenty.sh jedna dva tři čtyři pět šest sedm osm devět deset
|
Provádění funkcí je mnohem rychlejší než provádění skriptů, protože
funkce si shell udržuje trvale předzpracované v paměti. Funkce musí být
definována dříve než bude použita. Příkaz export
lze použít i
pro funkce, ale musí být zapnutý mód allexport
.
$ set -o allexport
|
Funkcím můžeme předávat argumenty stejně jako skriptům a získáváme
je stejným způsobem jako u skriptů. Příkaz return
ukončí
funkci a vrací její návratovou hodnotu ve formě celočíselného argumentu.
Po dokončení funkce jsou poziční argumenty skriptu
($#
, $@
...) obnoveny (u starších shellů to
tak být nemusí).
$ funkce_s_argumenty() {
|
Budeme-li chtít vrátit řetězcovou hodnotu, můžeme to udělat např. níže uvedeným způsobem.
#!/bin/bash vrat_retezec() { echo "Řetězec" } promena=$(vrat_retezec) echo $promena exit 0 |
Pomocí klíčového slova local
můžeme také vytvořit lokální
proměnné funkce. Jestliže bude existovat globální proměnná se stejným
názvem, bude ve funkci potlačena.
#!/bin/bash jedna="První globální proměnná" dva="Druhá globální proměnná" lokalni_promena() { local jedna="První lokální proměnná" echo $jedna echo $dva } lokalni_promena echo $jedna echo $dva exit 0 |
Příkazy můžeme rozdělit na zabudované a normální. Zabudované příkazy nemůžeme spustit jako externí programy, ale většinou mají své ekvivalenty ve formě externích programů. Normální příkazy jsou externí programy a jejich vykonání je pomalejší než u zabudovaných příkazů.
break
- vyskočí z cyklu:
- nulový příkazcontinue
- spustí další iteraci cyklu.
- provede příkaz v aktuálním shellueval
- vyhodnotí zadaný výrazshift
- posune poziční parametryread
- načte uživatelský vstup, jako argument se
použije název proměnné, do které se má uložitstty
- mění a vypisuje charakteristiky terminálové
linkyexec
- spustí nový shell nebo jiný zadaný program
a nebo upraví deskriptor souboruexit n
- ukončení skriptu s návratovým kódem n
(n = 0 - úspěšné ukončení, n = 1 až 125
- chyba, ostatní n jsou rezervovány)printf
- není dostupný ve starých shellech a při vytváření
formátovaného výstupu byste mu měli dávat přednost před příkazem
echo
podle specifikace X/OpenNa skriptu prikazy.sh
si ukážeme použití některých výše
uvedených příkazů.
#!/bin/bash for i in 10 20 30 40 50; do if [ $i -eq 40 ]; then break elif [ $i -eq 20 ]; then continue else : fi echo $i done a="abc" nazev_promene="a" promena='$'$nazev_promene echo $promena eval promena='$'$nazev_promene echo $promena while [ "$1" ]; do echo $1 shift done exec date echo "Tato část již nebude provedena!" exit 0 |
Nezapomeneme skript spustit s několika argumenty.
$ ./prikazy.sh první druhý třetí
|
Nyní si ukážeme interaktivní skript read.sh
,
který požádá uživatele o zadání přihlašovacího jména a hesla.
Heslo se nebude vypisovat na obrazovku.
#!/bin/bash echo -n "Přihlašovací jméno: " read jmeno echo -n "Heslo: " # Vypne výpis vstupních znaků stty -echo read heslo # Zapne výpis vstupních stty echo echo if [ "$jmeno" == "fuky" ] && [ "$heslo" == "heslo" ]; then echo "Kód: Příšerně žluťoučký kůň úpěl ďábelské ódy" else echo "Nemáte oprávnění k vypsání kódu" fi exit 0 |
Zadáme-li správné údaje, získáme kód.
$ ./read.sh
|
Na závěr tohoto dílu si ukážeme použití konstrukce
select proměnná in hodnota1 ... hodnotaN; do příkazy; done
.
#!/bin/bash echo "Zadejte vaše pohlaví" select pohlavi in muž žena; do if [ "$pohlavi" ]; then echo "Jste $pohlavi" break else echo "$REPLY je nedefinovaná odpověď" fi done exit 0 |
Po spuštění příkazu select
je uživatel vyzván, aby
zadal číslo jedné z hodnot (hodnota1 ... hodnotaN
v našem
případě muž
nebo žena
).
proměnná $REPLY
obsahuje vždy hodnotu uživatelského vstupu.
proměnná $pohlavi
obsahuje hodnotu pouze v případě, že číslo
odpovídá jedné z voleb. Dotaz se opakuje, dokud se neprovede
v těle příkaz break
.
$ ./select.sh
|
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: