Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
# 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]}" doneTohle^^^ 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: