abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | IT novinky

    Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Komunita

    Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).

    NUKE GAZA! 🎆 | Komentářů: 9
    dnes 04:33 | IT novinky

    Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 04:22 | Zajímavý projekt

    Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 04:11 | Bezpečnostní upozornění

    Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 14:11 | IT novinky

    Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu

    … více »
    Ladislav Hagara | Komentářů: 9
    včera 13:55 | Nová verze

    Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).

    Ladislav Hagara | Komentářů: 0
    10.2. 22:44 | Nová verze

    Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    10.2. 18:11 | Nová verze

    CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.

    Ladislav Hagara | Komentářů: 15
    10.2. 14:22 | Komunita

    KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (26%)
     (3%)
     (4%)
     (2%)
     (12%)
     (28%)
    Celkem 849 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: BASH: jak na výpis příkazu, který se bude provádět

    svido avatar 5.3.2015 08:58 svido | skóre: 28
    BASH: jak na výpis příkazu, který se bude provádět
    Přečteno: 501×
    Ahoj, mám skript, který automatizovaně pracuje s MKV kontejnery a upravuje je podle mých požadavků. Rád bych při zapnutém verbose módu viděl i jednotlivé prováděné příkazy, ale nějak se mi to nedaří...
    CMD_EVAL="$APPLICATION_MKVINFO $ACTUAL_PROCESSED_DIRECTORY/$SOURCE_FILE | grep -B4 'Track type: video' | grep 'Track number' | awk '{print \$5}'"
    logCommand $CMD_EVAL
    VIDEO_TRACK_NUMBER=$(eval $CMD_EVAL)
    Do proměnné VIDEO_TRACK_NUMBER by se mělo uložit číslo ID video stopy, ale něuloží.

    Zápis pomocí evalu používám hlavně kvůli skládání příkazu - pokud má MKV např. více audio stop, generuje se příkaz dynamicky.

    Děkuji za nápady :-)

    Odpovědi

    5.3.2015 09:12 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    bash -x
    5.3.2015 09:18 NN
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Verbosity prikazu mkvinfo? Jednotlive provadene prikazy shellu?
    svido avatar 5.3.2015 09:48 svido | skóre: 28
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    nene, verbosity myslím pro můj skript. Standardně si vypisuji jen některé informace, ale pokud pustím skript s verbosity, mám rozšířené informace a v tomto výpisu bych rád měl i příkazy které se pustí.

    Jinak samotné spuštění příkazů ve skriptu má potlařený výstup a jen kontroluji návratovou hodnotu. Nepoužívám jen mkvinfo, ale iconv, enkódování atd.
    5.3.2015 11:12 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Vždyť ti říkám - bash -x

    Do shebangu na prvním řádku skriptu přidej k bashi parametr -x
    svido avatar 5.3.2015 22:52 svido | skóre: 28
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    nerozumíš mi, nechci tracovat bash, ale můj vlastní skript, kdy si verbose mode řídím příznakem a protože dost příkazů, které skript spuští se generují dynamicky, rád bych při zapnutém ukecaném řežimu ty příkazy viděl. O to mi jde
    5.3.2015 23:22 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    if [ "$debug" ]; then
       echo "prikaz --parameter --parameter..."
    fi
    
    prikaz --parameter --parameter...
    6.3.2015 07:14 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Asi opravdu nerozumím. V tom skriptu tím parametrem řekneš bashi, aby ti vypisoval, co dělá, tedy i co konkrétně spouští. Přesně právě v situacích, kdy chceš vidět, co se opravdu spouští. Vyzkoušel sis to?
    svido avatar 6.3.2015 13:17 svido | skóre: 28
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    ano, znám to. Když dám #!/bin/bash -x, dostanu sice verbose mode, ale pro bash, který mne moc nezajímá. Vidím toto:
    hurvajs@htpc ~ $ ~/bin/mkvmerger.sh --verbose                                                                                              
    + VERSION=0.1-alpha1                                                                                                                      
    ++ basename /home/hurvajs/bin/mkvmerger.sh                                                                                                
    + SCRIPT_NAME=mkvmerger.sh                                                                                                                
    + PREFIX_VERBOSE_MESSAGE='---> '                                                                                                          
    + PREFIX_MESSAGE='  '                                                                                                                     
    + PREFIX_COMMAND_VERBOSE_MESSAGE='---> CMD - '                                                                                            
    + LOCK_FILE=mkvmerger.sh.lock                                                                                                             
    + SCRIPT_CONFIGURATION_FILE=mkvmerger.conf                                                                                                
    + DATE_FORMAT='%Y/%m/%d %H:%M:%S'                                                                                                         
    + SEPARATOR_PROCESSED_FOLDER='\n----------------------------------------------------------------------------------'                        
    ++ which mkvinfo                                                                                                                           
    + APPLICATION_MKVINFO=/usr/bin/mkvinfo                                                                                                      
    ++ which mkvextract                                                                                                                         
    + APPLICATION_MKVEXTRACT=/usr/bin/mkvextract                                                                                                
    ++ which mkvmerge                                                                                                                           
    + APPLICATION_MKVMERGE=/usr/bin/mkvmerge                                                                                                      
    ++ which iconv                                                                                                                                
    + APPLICATION_ICONV=/usr/bin/iconv                                                                                                                
    ++ which enca                                                                                                                                     
    + APPLICATION_ENCA=/usr/bin/enca                                                                                                                  
    + AUDIO_POSSIBLE_LANGUAGE=('eng' 'cze')                                                                                                           
    + AUDIO_PREFERRED=eng                                                                                                                               
    + SUBTITLE_POSSIBLE_LANGUAGE=('cze' 'eng')                                                                                                            
    + SUBTITLE_PREFERRED=cze                                                                                                                              
    + SUBTITLE_ENCODING=utf-8                                                                                                                                                              
    + FLAG_VERBOSE_MODE=0                                                                                                                                                                  
    + FLAG_NO_NEW_LINE=0                                                                                                                                                                   
    + DEBUG_MESSAGE_VIDEO=                                                                                                                                                                
    + DEBUG_MESSAGE_AUDIO=                                                                                                                                                                
    + DEBUG_MESSAGE_SUBTITLE=                                                                                                                                                                 
    + DIRECTORY_INPUT=/home/hurvajs/Source/new_processed_movies/uncorrected                                                                                                                        
    + DIRECTORY_OUTPUT=/home/hurvajs/Source/new_processed_movies/corrected
    + TRACKS_TO_EXTRACT_LIST=
    + TRACKS_TO_EXTRACT_COUNT=0
    + IFS='
    '
    + COLOR_ESCAPE_SEQUENCE='\033['
    + COLOR_OFF='\033[0m'
    + COLOR_MOVIE_TITLE='\033[4;1;34m'
    + COLOR_COMMAND='\033[44m'
    + COLOR_ERROR='\033[1;31m'
    + COLOR_WARNING='\033[1;33m'
    + COLOR_SUCCESS='\033[1;32m'
    ++ date '+%Y/%m/%d %H:%M:%S'
    + EVENT_DATE='2015/03/06 13:01:36'
    + trap '{ rm -rf /home/hurvajs/Source/new_processed_movies/uncorrected/mkvmerger.sh.lock; exit 255; }' EXIT
    + ARGUMENTS_SHORT=vhcdV
    + ARGUMENTS_LONG=version,help,help-configuration,debug,verbose
    ++ getopt -o vhcdV:: --long version,help,help-configuration,debug,verbose:: -n mkvmerger.sh -- --verbose
    ...
    ...
    
    což je brutálně ukecaný a zbytečný...

    Zkusím to popsat, když pustím můj skript s --verbose zapne se ukecaný režim, kde bych rád vypisoval i příkazy, které pouštím ve skriptu, tj. mkvinfo, enca, iconv atd. které mi vytáhnou informace ze zpracovávaného MKV kontejneru, tak abych mohl kontejner extrahovat a pak složit dle svých požadavků (ENG audio, ENG + CZE titulky, pojmenování kontejneru atd).

    Aktuálně mi dělá problém toto (a na to jsem se i ptal):
    # internal video tracks
    CMD_EVAL="$APPLICATION_MKVINFO $ACTUAL_PROCESSED_DIRECTORY/$SOURCE_FILE | grep -B4 'Track type: video' | grep 'Track number' | awk '{print $5}'"
    
    # tady se zobrazí příkaz
    logCommand $CMD_EVAL
    
    # tady by se měl pustit a do proměnné VIDEO_TRACK_NUMBER naplnit ID audio stopy
    VIDEO_TRACK_NUMBER=$(eval "$CMD_EVAL")
    
    Problém je u toho awk. Abych docílil toho, že se mi zobrazí správně, musím escapovat $5, tj. \$5. Což je pak zase špatně pro vlastní eval.

    6.3.2015 14:41 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Nemusíte to mít zapnuté pro celý skript, lze to podle potřeby zapínat ("set -x") a vypínat ("set +x").
    6.3.2015 14:43 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    To jsem ani nevěděl. Super, díky za tip :-)
    svido avatar 6.3.2015 17:28 svido | skóre: 28
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    tak to jsem také nevěděl... Hned zkusím. Díky
    7.3.2015 22:04 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Ten skript selže když bude nastavenej jinej jazyk prostředí (já mám jména položek česky). Jinak ten $5 musí přežít až do awku ne? Takže musí být escapován proti přiřazení do stringu a pak evalem. Jinak poslední grep a awk by šel nahradit sedem (i když lomítka sedu v evalu jsou na tom podobně jako $5 v awku :-D).
    5.3.2015 10:59 chrono
    Rozbalit Rozbalit vše Re: BASH: jak na výpis příkazu, který se bude provádět
    Mimochodom pomocou programu mediainfo sa dá získať číslo stopy o niečo jednoduchšie:
    mediainfo --Output='Video;%ID%' file.mkv
    (ak súbor obsahuje viac video stôp, bude potrebné upraviť tú šablónu pre parameter Output)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.