Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
#!/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: