Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.3.0. Přehled novinek v poznámkách k vydání.
Organizace Open Container Initiative (OCI) (Wikipedie), projekt nadace Linux Foundation, vydala Runtime Specification 1.3 (pdf), tj. novou verzi specifikace kontejnerového běhového prostředí. Hlavní novinkou je podpora FreeBSD.
Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.
Na YouTube a nově také na VHSky byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu.
Jednou za rok otevírá společnost SUSE dveře svých kanceláří široké veřejnosti. Letos je pro vás otevře 26. listopadu v 16 hodin v pražském Karlíně. Vítáni jsou všichni, kdo se chtějí dozvědět více o práci vývojářů, prostředí ve kterém pracují a o místní firemní kultuře. Můžete se těšit na krátké prezentace, které vám přiblíží, na čem inženýři v Praze pracují, jak spolupracují se zákazníky, partnery i studenty, proč mají rádi open source a co
… více »Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Jeff Quast otestoval současné emulátory terminálu. Zaměřil se na podporu Unicode a výkon. Vítězným emulátorem terminálu je Ghostty.
Amazon bude poskytovat cloudové služby OpenAI. Cloudová divize Amazon Web Services (AWS) uzavřela s OpenAI víceletou smlouvu za 38 miliard USD (803,1 miliardy Kč), která poskytne majiteli chatovacího robota s umělou inteligencí (AI) ChatGPT přístup ke stovkám tisíc grafických procesů Nvidia. Ty bude moci využívat k trénování a provozování svých modelů AI. Firmy to oznámily v dnešní tiskové zprávě. Společnost OpenAI také nedávno
… více »Konference Prague PostgreSQL Developer Day 2026 (P2D2) se koná 27. a 28. ledna 2026. Konference je zaměřena na témata zajímavá pro uživatele a vývojáře. Příjem přednášek a workshopů je otevřen do 14. listopadu. Vítáme témata související s PostgreSQL či s databázemi obecně, a mohou být v češtině či angličtině.
Byl vydán Devuan 6 Excalibur. Přehled novinek v poznámkách k vydání. Kódové jméno Excalibur bylo vybráno podle planetky 9499 Excalibur. Devuan (Wikipedie) je fork Debianu bez systemd. Devuan 6 Excalibur vychází z Debianu 13 Trixie. Devuan 7 ponese kódové jméno Freia.
# cat skript.sh
#!/bin/bash SNAPSHOT="fotky" lvcreate -s -L 2G -n $SNAPSHOT-snap /dev/vg01/$SNAPSHOTMám tady ukázku osekaného skriptíku a můj dotaz spočívá v tom, zda a jak se dá udělat, abych v něm nemusel natvrdo psát proměnnou, ale skript bych spustil např.
./skript.sh fotky a všechny proměnné SNAPSHOT by byly fotky. Pak bych zadal např. ./skript.sh root a všechny proměnné SNAPSHOT by byly root atd. Snad je to pochopitelné. Moc díky za nakopnutí:)
#!/bin/bash lvcreate -s -L 2G -n $1-snap /dev/vg01/$1
./skript.sh foo bar #!/bin/bash echo "Skript $0 a parametry $1 a $2."
Pro pevný počet argumentů:
#!/bin/bash
ARG_COUNT=$#
SCRIPT_NAME=$0
ARG_1=$1
ARG_2=$2
ARG_3=$3
echo "NAME - $SCRIPT_NAME, Arguments - $ARG_COUNT, 1. argument - $ARG_1, 2. argument - $ARG_2, 3. argument - $ARG_3"
Výstup:
pi@raspberrypi:~ $ /home/pi/args prvni druhy treti
NAME - /home/pi/args, Arguments - 3, 1. argument - prvni, 2. argument - druhy, 3. argument - treti
Další možností může být naplnění pole argumenty:
#!/bin/bash
declare -a ARG_ARRAY=(`echo $@`);
for i in "${ARG_ARRAY[@]}"
do echo $i
done
Výstup:
pi@raspberrypi:~ $ /home/pi/arguments jedna dva tri ctyri pet
jedna
dva
tri
ctyri
pet
pi@raspberrypi:~ $
#!/bin/bash
declare -a ARG_ARRAY=(`echo $@`);
for i in "${ARG_ARRAY[@]}"
do
lvcreate -s -L 2G -n $i-snap /dev/vg01/$i
done
Pak si dáš jen ./skript.sh fotky root dalsi dalsi a vytvoří ti to všechno automaticky naráz.
Jakou výhodu získáte tím polem oproti obvyklému
while [ $# -gt 0 ]; do
lvcreate -s -L 2G -n "${1}-snap" "/dev/vg01/$1"
shift
done
nebo
for v in "$@"; do
lvcreate -s -L 2G -n "${v}-snap" "/dev/vg01/$v"
done
?
Slovíčkaření. Když tomu Bash říká Arrays, nevidím důvod nazývat to seznam, najdu tam, co neznám nebo jakkoliv jinak.
Ne že bych čekal ve jménech zařízení mezery, ale proč je nepodporovat, když to jde? A vůbec, je lepší mít vždycky všechno bezpečně oescapované, pokud se nějak pracuje se vstupem z příkazové řádky.
#!/bin/bash
ARGS=("$0" "$@")
for idx in "${!ARGS[@]}"; do
echo "Argument číslo ${idx}: ${ARGS[idx]}"
done
Tohle^^^ taky názorně ukazuje konvenci kolem argv[0] a některé detaily chování "$@". Příklad:
$ /tmp/zee první 'druhý s mezerami' 't ř e t í' čtvrtý Argument číslo 0: /tmp/zee Argument číslo 1: první Argument číslo 2: druhý s mezerami Argument číslo 3: t ř e t í Argument číslo 4: čtvrtý
OPTS1=(-copyprog "rsync -aX --rsh='ssh -p 22 -i /root/.ssh/unison/id_rsa -c arcfour' --inplace"
-copyprogrest "rsync -aX --rsh='ssh -p 22 -i /root/.ssh/unison/id_rsa -c arcfour' --partial --inplace"
-copythreshold 0
-copyquoterem true
)
unison "${OPTS1[@]}" "${OPTS2[@]}" .....
echo je tam zbytečně, viz shellcheck. Stačí
#!/bin/bash
declare -a ARG_ARRAY=($@)
for i in "${ARG_ARRAY[@]}"
do
lvcreate -s -L 2G -n "$i-snap" "/dev/vg01/$i"
done
declare -a ARG_ARRAY=("$@")
Tiskni
Sdílej: