Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.
Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).
MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.
Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.
ls /home/ | while read DIR do echo $DIR donedostanu výsledek
20_07_2012_16_04_05_backup_http 20_07_2012_16_04_08_backup_http 20_07_2012_16_04_26_backup_http 20_07_2012_16_04_35_backup_httpa potřebuji označit jeden ten adresář z nějakého menu, něco jako tohle
echo "MENU" 01 - 20_07_2012_16_04_05_backup_http 02 - 20_07_2012_16_04_08_backup_http 03 - 20_07_2012_16_04_26_backup_http 04 - 20_07_2012_16_04_35_backup_http echo -n " Zadejte Vaši volbu : " read choice case $choice in 01) echo "1";; 02) echo "2";; 03) echo "3";; 04) echo "2";; esacPoradíte prosím někdo? Děkuji
Řešení dotazu:
a co za pomoci programu dialog , nebude to hezčí ?
#!/bin/bash
dirs=(*/)
read -p "$(
f=0
for dirname in "${dirs[@]}" ; do
echo "$((++f)): $dirname"
done
echo -ne 'Please select a directory > '
)" selection
selected_dir="${dirs[$((selection-1))]}"
echo "You selected '$selected_dir'"
Příklad 2:
#!/bin/bash
printf "Please select folder:\n"
select d in */; do test -n "$d" && break; echo ">>> Invalid Selection"; done
cd "$d" && pwd
Funguje to v bashi, pro jiný shel (sh) by to snad někdo mohl upravit.
Zamknout a zahodit klíče.
Takto by to mohlo vyzerat tiez, je tam aj co to osetrene.
#!/bin/bash
## Je mozne zadat top level adresar ako argument pre skript: script /home
## ,ak nie je zadany, tak sa berie aktualny adresar, kde sa nachadzame.
## treba odkomentovat
#top_dir="$1"
#def_top_dir="${top_dir:-$PWD}"
## zakomentovat nasledovny riadok, ak sa pouzije predchadzajuci sposob zadavania top level adresara.
def_top_dir="/home/"
declare -i index=1 select
declare -a array_dirs=( "$def_top_dir"/*/ )
# overenie, ci je adresar dostupny na citanie
[[ -r "$def_top_dir" ]] || { echo "$def_top_dir neexistuje alebo je necitatelny."; exit 1; }
# ak by sa nenasiel ziadny podadresar, tak nedojde k expanzii a tym padom by prvy a jediny
# prvok v poli bol "$def_top_dir"/*/; pole bude vzdy obsahovat aspon jeden prvok
[[ -d "${array_dirs[1]}" ]] || { echo "V $def_top_dir sa ziadne podadresare nenasli."; exit 1; }
for item in "${array_dirs[@]}"
do
# pole ma index zacinajuci od 0, no pre cloveka (pre mna) , je
# logickejsie prvy prvok nez nulty prvok, preto $(( index - 1 ))
echo "$index : ${array_dirs[$(( $index - 1 ))]}"
(( index++ ))
done
while read -p "Zadaj index pozadovaneho adresara : " select
do
(( 0 < select )) && (( select <= ${#array_dirs[@]} )) && break || echo "Index je mimo rozsahu [ 1 - ${#array_dirs[@]} ]."
done
echo "${array_dirs[$(( $select - 1 ))]}"
Tiskni
Sdílej: