Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.
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" && pwdFunguje 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: