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.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Řešení dotazu:
script 2>>error.log
#!/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.logMam 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: