• úvod
  • témata
  • události
  • tržiště
  • Přišli jste skrz odkaz na příspěvek, který již neexistuje.

  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    DELVITLinux pro zacatecniky a obycejne uzivatele (NO FLAMES!)
    GILHAD
    GILHAD --- ---
    RAINBOF:
    Tak jsem si udělal takové jakoby pokusné prostředí s mocným programem spellcosi a ukázkovým použitím, jak by to asi mohlo fungovat
    [gilhad@cobra-mk3(10) F] $ for i in *; do echo "============ $i =============";cat $i;done;echo "==========================="
    ============ prog.sh =============
    #!/usr/bin/env bash
    
    declare divnopromena
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    ============ prog1.sh =============
    #!/usr/bin/env bash
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    ============ prog2.sh =============
    #!/usr/bin/env bash
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    ============ promenne.txt =============
    declare divnopromena
    declare divnopromena1
    declare divnopromena2
    declare divnopromena3
    ============ spellcosi =============
    cat
    ===========================
    [gilhad@cobra-mk3(10) F] $ for i in *.sh; do cat promenne.txt $i | ./spellcosi | grep -v -f promenne.txt >$i.txt; done
    [gilhad@cobra-mk3(10) F] $ for i in *.sh; do diff -u0 $i $i.txt; done
    --- prog.sh	2023-03-31 15:28:39.018065477 +0200
    +++ prog.sh.txt	2023-03-31 15:38:48.654308914 +0200
    @@ -3 +2,0 @@
    -declare divnopromena
    [gilhad@cobra-mk3(10) F] $ 
    RAINBOF
    RAINBOF --- ---
    GILHAD: to jsme zas u toho ze define je az u bashe 5.

    Zatim jsem vyignoroval SC2154 a v tejdnu to zkusim zhmotnit tim ze budu shellcheckovat nejakym dockerem kde ten ~/.shellcheckrc bude brat nejakej file s promenyma.
    GILHAD
    GILHAD --- ---
    RAINBOF: aha, tak místo
    divnopromena1=1
    dát
    declare divnopromena1
    a případně na začátek ještě ten
    #!/usr/bin/env bash

    Mě šlo o ten princip - nasypat takhle kaádému skriptu všechny ty proměnné, pak to ospellchekovat a pokud to nalezne chyby, tak řešit, jinak ne. (Já teda spellcheck nepoužívám, ani nemám nainstalovaný a bral jsem ho taky jako náhradní jméno ve smyslu těch divnopromenych)
    RAINBOF
    RAINBOF --- ---
    KARIBIKCZ: na ten .shellrc jsem dosel vcera. zatim to vede k tomu ze to budu provozovat pres docker kam si exportnu ty promenne pre external source a pak to spustim pres to. Jen mi to prijde ujety tim testovat i lokalne. V pipeline je me to fuk.
    KARIBIKCZ
    KARIBIKCZ --- ---
    RAINBOF: ok pardon, limitovane moznosti, to jsem nekde prehledl kontext; tak by oprava mohla vypadat treba jako
    [ -n "${divnopromena}" ] || divnopromena=

    Ale jinak staci spustit kontrolu jako
    shellcheck -e SC2154 soubor.sh

    pripadne vyrobit ~/.shellcheckrc, ostatne viz: https://github.com/koalaman/shellcheck/wiki/directive
    RAINBOF
    RAINBOF --- ---
    KARIBIKCZ: to na 4x bashi a 3 bashi nejde pouzivat.
    Nemuzes to opravit :)

    GILHAD:
    Jenze to udela
    divnopromena1=1
    divnopromena2=1
    divnopromena3=1
    
    #!/usr/bin/env bash
    
    declare divnopromena
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    GILHAD
    GILHAD --- ---
    Já bych asi udělal něco jako pomocný soubor proměnne.txt
    divnopromena1=1
    divnopromena2=1
    divnopromena3=1
    a pak
    for i in *.sh; do
    cat promenne.txt $i | shellcheck >$i.txt
    done
    a prošel pak ty výsledky, s tím, že čísla řádků budou o počet divnoproměnných vyšší
    KARIBIKCZ
    KARIBIKCZ --- ---
    RAINBOF: No ja nevim, ale nebylo jednodussi ten kod proste opravit, aby byl ShellCheck spokojeny?

    Takze mit radeji neco jako
    #!/usr/bin/env bash
    
    declare divnopromena
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    RAINBOF
    RAINBOF --- ---
    vlastne stdin nic neresi

    mam cosi jako

    #!/usr/bin/env bash
    
    function neco
    {
    printf 'nejaka divna promena %s' "${divnopromena}
    }
    

    no a ja bych potreboval nejak ten kousek ${divnopromena} nehlasit.
    RAINBOF
    RAINBOF --- ---
    mam souboru stovky
    RAINBOF
    RAINBOF --- ---
    me to s tim stdin prijde blby :)
    RAINBOF
    RAINBOF --- ---
    no a jak se pak dozvis v kterem souboru mas chybu ?
    THERIDANE
    THERIDANE --- ---
    RAINBOF: Jestli jde o https://github.com/koalaman/shellcheck, kterej stdin neumí, tak následovně (dáš mu to jako virtuální soubor):

    shellcheck <(cat s1.sh s2.sh s3.sh s4.sh s*zbytek.sh)

    ...a máš tak plnou kontrolu nad pořadím, v jakým ty soubory lepíš dohromady, takže si dáš definice na začátek a jedeš.
    RAINBOF
    RAINBOF --- ---
    THERIDANE: dobre, demonstruj myslenku s stdin
    THERIDANE
    THERIDANE --- ---
    RAINBOF: shebang je normální komentář :) speciální význam má jen když to je první byte
    RAINBOF
    RAINBOF --- ---
    to je mozny ale to bych nechtel na zacatku je prece shebang
    MARASAN
    MARASAN --- ---
    RAINBOF: neumi shellchecker STDIN? ze bys mu to vsechno cat-nul ;-)
    RAINBOF
    RAINBOF --- ---
    resim syntax checker pro bash, nasel jsem v system shellchecker ale mam problem ze struktura je takova ze mam co funkci to soubor takze nektere promenne se definuji jinde a ja bych porteboval aby mi je to nekontrolovalo mam jejich seznam je jich asi 50 a ja bych je chtel z kontroly vyloucit jinak ze ze budu pred kazdej vyskyt psat komentar.
    RIVA
    RIVA --- ---
    CHOROBA: Dikes!
    CHOROBA
    CHOROBA --- ---
    https://virt-manager.org/
    libvirt ma API na ktery pristupuje virtman

    seriak je proste seriovej port
    RIVA
    RIVA --- ---
    CHOROBA: virtman a seriak jsou klienti na vzdalenou spravu?
    RIVA
    RIVA --- ---
    MARASAN: Aha, takze libvirt package ma integrovanej web server jako vmware esxi host?
    CHOROBA
    CHOROBA --- ---
    virtman, seriak...
    MARASAN
    MARASAN --- ---
    RIVA: po netu si otevres konzoli, virt-manager je na to luxusni
    RIVA
    RIVA --- ---
    CHOROBA: Ok diky. Sorry za dalsi noob otazku, ale jak projdu instalaci samotnou? Budu k tomu muset nacist nejaky skript, ktery te VM zada uzivatelske jmeno, heslo, IP adresu a pripadne zkopiruje ssh identitu?
    CHOROBA
    CHOROBA --- ---
    nomalne pres libvirt pripojis se pak klidne virt-manem, virsh... nebo z console, jak chces.
    RIVA
    RIVA --- ---
    Mate nekdo zkusenosti s pouzivanim qemu hypervisoru na Ubuntu serveru bez GUI? Jde to vubec udelat?

    Chtel bych rozjet tri VM instance Ubuntu 22.04 a spravovat je pres ssh.
    MCKIDNEY
    MCKIDNEY --- ---
    Jinak mozna poznamka pro zacatecniky - Steam zapracoval na podpore u her. Takze tam kde hra podporuje controller skrze steam, tak by to mohlo pomoct lidem nastavit a zprovoznit.

    Vim, ze lide prave skrze to pouzivali X52. (Saitek, ted logitech)
    DANIELSOFT
    DANIELSOFT --- ---
    JANFROG: asi jsem to napsal moc složitě, on tam prostě má konfigurák s definicema pro jednotlivé druhy joysticků a já se snažím říct, že pro ten můj setup tam řádek chybí, ale nechápu tu syntaxi natolik, abych ho napsal sám, takže od něj chci ten řádek

    protože jsi ten SW neviděl a nevíš, že tam tenhle konfigurák je, tak to tím pádem nechápeš, to je jasný
    CHOROBA
    CHOROBA --- ---
    ja vim, ze sem to ujizdeni do strany jednou resil a byl to shitty hw..
    pouziva sem na to myslim njakej midi tracer/debugger
    Kliknutím sem můžete změnit nastavení reklam