V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Ř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: