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.
Řešení dotazu:
script 2>>error.log
čili tohle "script 2>>error.log" použít nemůžu. Díky
#!/bin/bash ls /roooooooooooooooo/ ls /roooooooooo/ ls /rooooooooooooooxxxxxxxoo/ ls /rxxoxxxxxxxxxx/ ls /rccccccccccccccoooo/spustím /root/mysqcript
ls: nelze přistoupit k /roooooooooooooooo/: Adresář nebo soubor neexistuje ls: nelze přistoupit k /roooooooooo/: Adresář nebo soubor neexistuje ls: nelze přistoupit k /rooooooooooooooxxxxxxxoo/: Adresář nebo soubor neexistuje ls: nelze přistoupit k /rxxoxxxxxxxxxx/: Adresář nebo soubor neexistuje ls: nelze přistoupit k /rccccccccccccccoooo/: Adresář nebo soubor neexistujeale jak to udělat aby se chyby zobrazily v souboru a nemusel to psát takto..
#!/bin/bash ls /roooooooooooooooo/ 2>>/root/error.log ls /roooooooooo/ 2>>/root/error.log ls /rooooooooooooooxxxxxxxoo/ 2>>/root/error.log ls /rxxoxxxxxxxxxx/ 2>>/root/error.log ls /rccccccccccccccoooo/ 2>>/root/error.logmůžu to udělat takto?
#!/bin/bash
error()
{
echo $1 >> /root/error.log
}
ls /roooooooooooooooo/ || error "nějaká zpráva"
ls /roooooooooo/ || error "nějaká zpráva"
ls /rooooooooooooooxxxxxxxoo/ || error "nějaká zpráva"
ls /rxxoxxxxxxxxxx/ || error "nějaká zpráva"
ls /rccccccccccccccoooo/ || error "nějaká zpráva"
nevím jestli se používá | nebo ||
#!/bin/sh
(
ls /roooooooooooooooo/
ls /roooooooooo/
ls /rooooooooooooooxxxxxxxoo/
ls /rxxoxxxxxxxxxx/
ls /rccccccccccccccoooo/
) 2 >>/root/error.log
#!/bin/bash ls /roooooooooooooooo/ ls /roooooooooo/ ls /rooooooooooooooxxxxxxxoo/ ls /rxxoxxxxxxxxxx/ ls /rccccccccccccccoooo/tak
/root/myscript 2>>/root/error.logmi normálně funguje jak má.
... ale jak to udělat aby se chyby zobrazily v souboru a nemusel to psát takto..#!/bin/bash ls /roooooooooooooooo/ 2>>/root/error.log ls /roooooooooo/ 2>>/root/error.log ls /rooooooooooooooxxxxxxxoo/ 2>>/root/error.log ls /rxxoxxxxxxxxxx/ 2>>/root/error.log ls /rccccccccccccccoooo/ 2>>/root/error.log
#! /bin/bash log="/cesta/k/error.log" exec 2>"$log" tvoj_kod
#!/bin/bash
error()
{
echo $1 >> /root/error.log
}
ls /roooooooooooooooo/ 2>/dev/null || error "nějaká zpráva"
ls /roooooooooo/ 2>/dev/null || error "nějaká zpráva"
ls /rooooooooooooooxxxxxxxoo/ 2>/dev/null || error "nějaká zpráva"
ls /rxxoxxxxxxxxxx/ 2>/dev/null || error "nějaká zpráva"
ls /rccccccccccccccoooo/ 2>/dev/null || error "nějaká zpráva"
nevím jestli se používá | nebo ||
Tak pokial nevies, tak citaj:
http://www.tldp.org/LDP/abs/html/index.html
A pokial sa ti nechce, tak to asi nepojde.
V akom if, ved sam to pouzivas i bez. Rada je to na nezaplatenie, bo je tam vsetko krasne vysvetlene, kopec ukazok a taktiez myslim testy su tam, alebo testy som mal dakde inde. Jedno alebo druhe.
./script 2>error.log
funguje dle očekávání, tedy chybové hlášky skončí v souboru error.log
#!/bin/bash
start()
{
. /root/b.sh
}
start 2>>/root/error.log || {
echo "Akci se nepodařilo dokončit! Chyba: $ERR"
exit 0
}
v souboru b.sh budu mít
aaa || ERR="zprava1"; exit 1 bbb || ERR="zprava2";exit 1 ccc || ERR="zprava3";exit 1Pokud vše spustím a nastane chyba, zprávu : Akci se nepodařilo dokončit! neuvidím, navíc se provedou všechny neplatné příkazy v souboru b.sh. Očekával bych při tomto zadání po spuštění výsledek. Na obrazovce: Akci se nepodařilo dokončit! Chyba: zprava1" v souboru error.log: /root/b.sh: řádek 1: aaa: příkaz nenalezen Děkuji
1. Spustas aaa a taky prikaz neexistuje. K bbb a ccc sa nedostane, bo je tam exit 1
2. Nikdy nedostanes hlasku "Akci se nepodarilo dokoncit" , ak to ponechas takto.
Ano aaa neexistuje, proto jsem to tam dal aby vyskočila chyba ;) Jinak když dám místo exit 1 return 1 tak je vysledek stejný :( tak nevm jak to udelat..1. Spustas aaa a taky prikaz neexistuje. K bbb a ccc sa nedostane, bo je tam exit 1
2. Nikdy nedostanes hlasku "Akci se nepodarilo dokoncit" , ak to ponechas takto.
ls foo 2>&1 | tee err.log
Neni to vynalezani kola? Nestacilo by poslat chybovy vystup zaroven do souboru a zaroven do vystupu, napriklad takto:No stačilo ale jak to napsat na funkci nebo na if?ls foo 2>&1 | tee err.log
foo() {
ls foo;
}
foo 2>&1 | tee bar.log
Mam pocit, ze nikdo tady jeste neprisel na to o co se pokousite, ale toto je poradna pane,
ne kurz skriptovani v shellu..
set -eNic to nikam nepřesměrovává. Řeší to, že chceš skript ukončit při chybě (tedy možná, kdoví, těžko říci).
Tý jo, vždyť nemluvíš řečí mého kmene - já jsem to do teď nepobral, ostatní hádají a střílí ti od pasu rady, a vždy jen svou poznámkou zamlžíš .
Prostě klasika, …odpověď je 42… a zcela určitě je to správná odpověď. Ale abych byl upřímný, myslím si, že problém spočívá v tom, že jste nikdy pořádně nevěděli, jak zní otázka.
Tiskni
Sdílej: