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 04:44 | Nová verze

    Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:44 | IT novinky

    Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.

    Ladislav Hagara | Komentářů: 0
    včera 23:43 | IT novinky

    Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »

    Ladislav Hagara | Komentářů: 4
    včera 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    8.2. 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 8
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (5%)
     (0%)
     (11%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 819 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    27.5.2008 14:01 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    function dbg_init () {
        case "$1" in
            '-') exec 4>&1 ;;
            '') exec 4>/dev/null ;;
            *) exec 4>>"$1" ;;
        esac
    }
    
    # dbg_init
    # dbg_init '-'
    # dbg_init "/var/log/${PROGNAME}.log"
    
    function dbg() {
        echo -e "DBG: ${@}" >&4
    }
    
    
    27.5.2008 14:05 pht
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    takovych veci, a staci na to jeden radek v perlu. :)
    finc avatar 27.5.2008 15:15 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Šum na lince?
    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
    Shadow avatar 27.5.2008 15:17 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Tak sem s ním.
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    27.5.2008 15:34 kain
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    ak sa nemylim tak diskutujuci vyssie mal na mysli funkciu DBG ktora sa da riesit v perle prepinacom perl -w. Ale perlom prilis nevladnem a moja domnienka moze byt zla.
    27.5.2008 21:07 pht
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    funkce die - existuje primo

    humbuk kolem dbg - viz smart comments

    load_config - staci si vybrat ... bashoidni konfigy, klasicka inicka, yaml, ... pokazdy mate nacteni pomoci jedne funkce

    prasovani command lajny (getopt) kouknete se na getopt::euclid

    ...
    28.5.2008 07:20 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    $ ll `which bash` -rwxr-xr-x 1 root root 702160 2008-05-12 20:33 /bin/bash

    a to je komplet

    $ ll `which perl` -rwxr-xr-x 1 root root 1080468 2007-11-27 12:08 /usr/bin/perl $ du -s /usr/lib/perl/5.8.8/ 11048 /usr/lib/perl/5.8.8/

    tj. dohromady 12M ...

    700K <> 12000K a tomu odpovídají i možnosti ;-)

    Navíc perl opravdu není všude ...
    Alík avatar 28.5.2008 13:46 Alík | Iglau
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Navíc perl opravdu není všude ...
    To BASH taky ne ;-)
    Kdo se nezfetuje, bude ožrán!
    28.5.2008 14:11 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Ale i do Windows se dá doinstalovat... ;-)
    28.5.2008 14:24 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Ale i do Windows se dá doinstalovat... ;-)
    To BASH taky ... (já ve Win používám ZSH, ale BASH jsem taky někde viděl) Vždyť Win mají POSIX layer neeeeee ;-)
    28.5.2008 14:56 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Já měl na mysli právě Bash. ;-)
    28.5.2008 18:08 pht
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    to ano, proti tomu se nebranim. treba kdyz to udelate v asm, tak pudete na 2kb. ale o to nejde. v bashi delejte utilitky na par radku, slozitejsi veci ve slozitejsim jazyce. reste kde die() pouzit a ne jak ho udelat.
    28.5.2008 20:07 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Ale tohle JE na pár řádků ... navíc RW nikoliv RO ;-)

    Pro ošetření toho, aby se nějaký program spustil v jednom čase jen jednou nepotřebuji složitější jazyk. Na to stačí BASH viz. tento spot.

    V nadpisu spotu je BASH ... pokud Vás to irituje, prosím už ho nečtěte a ani diskuse pod ním.
    xkucf03 avatar 27.5.2008 17:16 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Mně taky nejde moc dohromady BASH a "větší skript", akorát jsem nechtěl zbytečně rýpat. Každý máme nějaký svůj oblíbený jazyk. (ale obecně považuji skriptování spíš za nesystémovou záležitost, kterou se záplatuje chybějící funkcionalita softwaru)
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    27.5.2008 18:18 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Typický windowsák? ;-) Aneb ukaž mi software, který dělá úplně všechno. Spousta malých nástrojů pohromadě sice taky neudělá úplně všecho, ale myslím, že udělají mnohem víc, než software, jehož tvůrci si bůhvíproč mysleli, že musí umět všechno včetně RFC 2324. :-)
    xkucf03 avatar 27.5.2008 19:46 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    software, jehož tvůrci si bůhvíproč mysleli, že musí umět všechno

    Spíš než takový monstrózní software považuji za ideální jednotlivé komponenty, které jsou integrované nějakým lepším způsobem, než jsou skripty v BASHi. Mám radši systém tažený událostmi, než takový, který musí být neustále popoháněn pomocí skriptů* aby vůbec fungoval (obvykle periodicky spouštěných cronem).

    Ale je fakt, že svět není ideální a bez skriptů se člověk neobejde, alespoň bez těch init.d (pokud nepoužívá nejmenovaný úžasný OS se svcadm).

    BTW: to RFC se mi líbí a patička je super :-)

    *) které navíc psal admin nikoli programátor a tester kolem nich neprošel ani cestou na oběd :-)

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    27.5.2008 20:33 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Spíš než takový monstrózní software považuji za ideální jednotlivé komponenty, které jsou integrované nějakým lepším způsobem, než jsou skripty v BASHi. Mám radši systém tažený událostmi, než takový, který musí být neustále popoháněn pomocí skriptů* aby vůbec fungoval (obvykle periodicky spouštěných cronem).
    Teď mluvíš o Emacsu... ;-) (Aneb událostmi řízený systém s mnoha jednotlivými komponentami, integrovanými v jednoduchém, ale mocném dynamickém jazyku.)
    xkucf03 avatar 27.5.2008 21:02 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Spíš o SOA. Ale s tím je problém, že polovina lidí ho odmítne, protože je příliš drahé a druhá polovina proto, že je to buzzword. A jen málokdo chápe, že to jsou v první řadě obecné principy a ne nějaký (ku*evsky drahý) software, a tak se denně na milionech počítačích stále pouštějí periodicky nějaké dávkové skripty a přelívají se terabajty dat.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    |🇵🇸 avatar 27.5.2008 19:47 |🇵🇸 | skóre: 94 | blog:
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Aneb ukaž mi software, který dělá úplně všechno.

    Bez váhání dávám Emacs. ^_^

    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    27.5.2008 20:36 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Říkám to nerad, ale Emacs RFC 2324 skutečně podporuje, takže i to kafe uvaří. :-D Ale ten hardware si pro to budu muset asi udělat sám... :-(
    28.5.2008 08:30 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Jo Jo

    Větší script je tak na čtyři terminály, pak už je to na něco kompilovaného ...

    Třeba na javu ;-) ;-) ;-) ;-) ;-) ;-)
    27.5.2008 16:07 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Ještě mi tam chybí nějaké parsování parametrů. Kdysi jsem něco našel. Je to taky jenom kostra, chce to dopsat, co to vlastně má dělat.

    #!/bin/sh
    help(){
    echo Usage: $0 
    }
    
    if [ $# -lt 1 ]
    then
      help
    else
      echo OK
    fi
    
    while getopts h opt
    do
      case $opt in
        h) help;;
        \?) help;;
      esac
    done
    shift $(($OPTIND - 1))
    
    echo Running
    
    27.5.2008 18:23 Chocolate Bear | blog: Chocolate Bear
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Jak jako kostra? Tohle by přece po úpravě menší než drobné by mohlo jít nainkůdovat tečkou, no ni?
    THIS IS SPARTA!
    28.5.2008 07:27 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    No jasně ...

    Kostra je to proto, abyses mohl rozhodnout jestli to budeš psát přímo nebo to natečkuješ.

    U nekompilovaných věci se spíš kloním k nesdílení "knihoven", je tam riziko, že uděláš v knihovně změnu a "kompilátor bash" tě neupozorní na chybku ... ;-) Prostě mi skripty přijdou příliš křehký ...
    Marián Kyral avatar 27.5.2008 20:07 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    [ "s${DBG}" = "sy" ] && echo -e "DBG: ${@}" 1>&2
    Jaký je rozdíl oproti [ "${DBG}" = "y" ] && echo -e "DBG: ${@}" 1>&2 ?
    David Watzke avatar 27.5.2008 20:26 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Lepší je nastavit DBG na true/false, pak lze rovnou
    $DBG && echo -e "DBG: $@" >&2
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    28.5.2008 08:27 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    souhlas

    Nedělám to ze dvou důvodů:

    1) musíte DBG mít definovanou a nesmíte tam mít nic jiného než "true" nebo "false", jinak je výsledek těžko předvídatelný a nebo dokonce řachne script ...
    $ DBG=true
    $ $DBG && echo "OK"
    OK
    $ 
    $ DBG=false
    $ $DBG && echo "OK"
    $ 
    $ DBG=jabaduba
    $ $DBG && echo "OK"
    bash: jabaduba: command not found     
    # šlo by ošetřit pomocí set -e - bash by po takovéto chybě nepokračovat 
    $ 
    $ unset DBG
    $ $DBG && echo "OK"
    OK
    # je to opravdu chování které autor chtěl?
    $ 
    
    2) na shellech kde "true", "false" a "test" jsou uvnitř shellu je téměř jedno který z nich voláte a s "test" máte jistotu CO to udělá.
    27.5.2008 21:04 pht
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    rozdil je ze kdyz nemate DBG definovane vubec tak by "" = "y" udelalo b0rk...
    27.5.2008 21:05 Chocolate Bear | blog: Chocolate Bear
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Minimálně v BASHi teda určitě ne.
    THIS IS SPARTA!
    Marián Kyral avatar 27.5.2008 21:11 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Fakt? Já myslel, že se porovná prázdný řetězec s řetězcem "y". A to normálně funguje:
    # set |grep DBG
    # [ "${DBG}" = "y" ] && echo Yes || echo No
    No
    # DBG=y
    # [ "${DBG}" = "y" ] && echo Yes || echo No
    Yes
    #
    GandY avatar 28.5.2008 09:31 GandY | skóre: 3 | blog: Zo života | Bratislava
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    to sa dá vyriešiť aj substitúciou:
    # [ "${DBG:-n}" = "y" ] && echo Yes || echo No
    ak premenná DBG nie je nastavená, tak sa použije hodnota 'n'.
    28.5.2008 15:07 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Jasně, ale pak je to totální BASHismus a na jiném shellu to nemá ani šanci chodit ...

    Ten původní kód by s maličkýma úpravama mohl chodit skoro kdekoliv ...
    GandY avatar 28.5.2008 16:59 GandY | skóre: 3 | blog: Zo života | Bratislava
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    no mne to funguje aj v korn shell a to aj pod AIX a HP-UX
    28.5.2008 17:14 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    WTF? RTFM! :-)
    28.5.2008 19:35 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Fakt ... koukam jako trubka. :-< Děkuj za doplnění vzdělání.

    Já to bral jako BASHismus a ono je to POSIXové.

    Nejstarší normu na POSIX jsme našel IEEE Std 1003.1,2001 Edition a tam to je taky.

    A všechny (/usr)/bin/sh co mám dostupné tak to nahradí správně
    $ echo "${QQQ:-www}"
    www
    $
    
    Nedostanete se někdo ke starším verzím? Jak je to tam?
    28.5.2008 19:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Fakt ... koukam jako trubka. :->
    Zlomená? ;-) Pajpa přeci kouká takhle: :| :-D
    28.5.2008 20:30 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Opravuji

    ... koukám jako zlomená trubka. :->
    28.5.2008 07:58 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    žádný

    Když tak o tom přemýšlím tak je to trik který jsem se naučil na nějakém opravdu starém U*xu. Mám pocit, že to souviselo se shellem v POSIX režimu, ale už opravdu nevím.

    Vidíte jak se člověka drží staré a leckdy už dávno nepotřebné konstrukce.
    $ DBG="y"
    $ 
    $ [ "s${DBG}" = "sy" ] && echo OK
    OK
    $ 
    $ [ "${DBG}" = "y" ] && echo OK
    OK
    $ 
    $ [ ${DBG} = "y" ] && echo OK
    OK
    $ 
    $ [ $DBG = "y" ] && echo OK
    OK
    $ 
    $
    $
    $ DBG="n"
    $ 
    $ [ "s${DBG}" = "sy" ] && echo OK
    $ 
    $ [ "${DBG}" = "y" ] && echo OK
    $ 
    $ [ ${DBG} = "y" ] && echo OK
    $ 
    $ [ $DBG = "y" ] && echo OK
    $
    $
    $
    $ 
    $ unset DBG
    $ 
    $ [ "s${DBG}" = "sy" ] && echo OK
    $ 
    $ [ "${DBG}" = "y" ] && echo OK
    $ 
    $ [ ${DBG} = "y" ] && echo OK
    bash: [: =: unary operator expected
    $ 
    $ [ $DBG = "y" ] && echo OK
    bash: [: =: unary operator expected
    $ 
    
    28.5.2008 09:08 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    žádný

    Když tak o tom přemýšlím tak je to trik který jsem se naučil na nějakém opravdu starém U*xu. Mám pocit, že to souviselo se shellem v POSIX režimu, ale už opravdu nevím.
    ten "trik" je o imho viac o používaní uvodzoviek ako o starom U*x-e :-)
    28.5.2008 11:32 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    V bashi tam rozdíl není, ale na některých systémech existují verze příkazu test, které si neporadí s [ "$x" = "y" ], není-li proměnná x nastavena. Pokud je ale na začátku skriptu '#!/bin/bash', je zbytečné toto zaříkávání provádět.
    28.5.2008 15:11 Qaxi | skóre: 14 | blog: Qaxi
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Aha, odsud vítr fouká ... Díky za připomenutí.
    Pokud je ale na začátku skriptu '#!/bin/bash', je zbytečné toto zaříkávání provádět.
    Jasně, prostě se člověk snaží psát přenositelně, i když má rád BASH. Schválně to otestuji v POSIX režimu a potom na
    /bin/sh
    na HP/UX a solarisu ... dám vědět.
    Marián Kyral avatar 28.5.2008 16:03 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: BASH - kostra většího skriptu
    Testoval jsem to v práci na nějakém AIXu, /bin/ksh a /bin/sh - funguje bez problémů.

    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.