Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 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 bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
#!/bun/bash declare x declare y declare z declare -a vstup read -p "převod mněny pr. (200 EUR to CZK): " x z=1 for y in $( echo $x | cut -f$z -d' ' ) ; do vstup[$z]=$y && z=$((z+1)) ; done exit 0
Zdravim,
ono by bolo mozno vhodne trochu objasnit, ako to ma cele fungovat. Tvoj skript obsahuje niekolko chyb alebo nepresnosti.
Tak podme rad radom:
1. #! /bun/bash zrejme nebude spravne, skus
which bash
a to zadaj za znaky #!
2. Cely ten cyklus je zvlastny, ak chces prechadzat kazdu cast textu oddelenu medzerami, tak mozes takto:
for SLOVO in ${x}
do
# vyraz ${#vstup[@]} vracia pocet poloziek v poli
# nie je nutne pouzit ziadnu premennu ako index
vstup[$(( ${#vstup[@]} +1 ))]="$i"
done
Teda ak si to chcel.
3. Bolo by vhodnejsie pisat nazvy premennych vystiznejsie. Ak bude skript dlhsi, tak to bude peklo.
Tu je moje riesenie, ma chyby a je to len z eur do cz a spat. Ale ako zaklad a ukazka, ako sa to dalo spravit, posluzi:
#! /bin/bash
## Udava kurz
CZKTOEUR="$( echo '1 / 24.72' | bc -l )"
EURTOCZK='24.72'
# nacitanie vstupu od uzivatela
# Myslim si,ze pokial tu nie je ziaden cyklus, tak
# je vhodnejsie zadat hodnotu pre VSTUP priamo v shell
# ako parameter pre skript
read -p "převod mněny pr. (200 EUR to CZK): " VSTUP
# vstup je 200 eur to czk
# Hodnota premennej HODNOTA_VSTUP bude teda 200
# Odstranuje sa najdlhsi nalez od konca hodnoty premennej, ktory zacina medzerou a nasleduje za nou cokolvek
HODNOTA_VSTUP="${VSTUP%% *}"
# Porovnava sa hodnota VSTUP oproti regularnemu vyrazu
# Cely reg. vyraz sa snazi vyhoviet v pripade, ze sa zada Czk to Eur alebo CZk to euR atd.
# a samozrejme dolezitejsie je, ze zisti z ktorej meny do ktorej
if [[ "${VSTUP}" =~ .*[{E,e},{U,u},{R,r}].*[{C,c},{Z,z},{K,k}] ]]
then
HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${EURTOCZK}" | bc )"
# Zaokruhlime vysledne hodnoty na dve desatinne miesta pomocou vyrazu printf %.2f
printf "Za %.2f EUR dostanete %.2f CZK\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
elif [[ "${VSTUP}" =~ .*[{C,c},{Z,z},{K,k}].*[{E,e},{U,u},{R,r}] ]]
then
HODNOTA_VYSTUP="$( echo "${HODNOTA_VSTUP} * ${CZKTOEUR}" | bc )"
printf "Za %.2f CZK dostanete %.2f EUR\n" "${HODNOTA_VSTUP}" "${HODNOTA_VYSTUP}"
fi
exit 0
Kazdopadne, nech ta to neodradza. Ked bude chut a vola, tak to bude dobre vsetko. Kazdy sa nejak uci. A ja niesom vynimkou aj s mojimi chybami. ;)
Este ti dam do pozornosti toto:
http://www.gnu.org/software/bash/manual/bashref.html
a troskou snahy najdes aj nieco v tvojom rodnom jazyku.
Tiskni
Sdílej: