Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.
Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.
Vývojové prostředí IntelliJ IDEA slaví 25. narozeniny (YouTube).
Vedení společnosti NVIDIA údajně povolilo použití milionů knih ze známého 'warez' archivu Anna's Archive k výcviku umělé inteligence, ačkoliv vědělo, že archiv tyto knihy nezískal legální cestou. Žaloba, ve které se objevují i citace interních dokumentů společnosti NVIDIA, tvrdí, že NVIDIA přímo kontaktovala Anna's Archive a požadovala vysokorychlostní přístup k datům knihovny.
Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.
Vývojáři se podařilo vytvořit patch pro Wine, díky kterému je možné na linuxovém stroji nainstalovat a spustit Adobe Photoshop (testováno s verzemi Photoshopu PS2021 a PS2025). Dalším patchem se podařilo umožnit dokonce instalaci téměř celého Adobe Creative Cloud Collection 2023, vyjma aplikací Adobe XD a Adobe Fresco. Patch řeší kompatibilitu s windowsovými subsystémy MSHTML - jádrem prohlížeče Internet exporer, a MSXML3 - parserem
… více »Hackeři zaútočili na portál veřejných zakázek a vyřadili ho z provozu. Systém, ve kterém musí být ze zákona sdíleny informace o veřejných zakázkách, se ministerstvo pro místní rozvoj (MMR) nyní pokouší co nejdříve zprovoznit. Úřad o tom informoval na svém webu a na sociálních sítích. Portál slouží pro sdílení informací mezi zadavateli a dodavateli veřejných zakázek.
Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.
Singularity je rootkit ve formě jaderného modulu (Linux Kernel Module), s otevřeným zdrojovým kódem dostupným pod licencí MIT. Tento rootkit je určený pro moderní linuxová jádra 6.x a poskytuje své 'komplexní skryté funkce' prostřednictvím hookingu systémových volání pomocí ftrace. Pro nadšence je k dispozici podrobnější popis rootkitu na blogu autora, případně v článku na LWN.net. Projekt je zamýšlen jako pomůcka pro bezpečnostní experty a výzkumníky, takže instalujte pouze na vlastní nebezpečí a raději pouze do vlastních strojů 😉.
Iconify je seznam a galerie kolekcí vektorových open-source ikon, ke stažení je přes 275000 ikon z více jak dvou set sad. Tento rovněž open-source projekt dává vývojářům k dispozici i API pro snadnou integraci svobodných ikon do jejich projektů.
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 $IFSSkript 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: