• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    DELVITLinux pro zacatecniky a obycejne uzivatele (NO FLAMES!)
    PATRICIUS
    PATRICIUS --- ---
    RAGNAROK: "hdparm -y /dev/sda" by na to nezabral?
    RAINBOF
    RAINBOF --- ---
    no pokud ho nevidi lsusb tak skutecne asi nic jineho nez off/on portu nezbejva. kdyby ho videlo usb asi by to slo nejak obejit pres nacitani modulu. tady to nejspis vypne ten samotnej prevodnik takze uz nemas s kym komunikovat.
    RAGNAROK
    RAGNAROK --- ---
    RAGNAROK
    RAGNAROK --- ---
    RAINBOF:
    lsusb ho prave taky nevidi potom co pouziju: udisksctl power-off

    Chtel bych ten disk zastavit a opet kdyz potrebuju nahodit manualne. Do /sys/ prave koukam jak to provest.

    Zkousel jsem sg3_utils: sg_start --stop /dev/sda
    to disk zastavi ale hned se zase zapne.
    RAINBOF
    RAINBOF --- ---
    RAGNAROK: v obecny rovine jde o to ze jsi ho dal vypnout takze zmizelo i /dev/sda zarizeni. Nicmene pokud je ho videt pres lsub. co zkusit restartovat usb port ?

    `/sys/bus/usb/devices/usb1/power/level`
    hodnoty tusim 0-100 a auto, on, off
    RAGNAROK
    RAGNAROK --- ---
    Takova dlouhodoba bolistka. Potrebuju spin down usb disku (aby se prestal tocit).

    Pokud pouziju:
    udisksctl power-off --block-device /dev/sda tak se disk vypne.

    Problem je ze pak nejde zase zapnot:
    lsusb ani lsblk ho nevidi.
    udevadm trigger nepomuze.

    Obcas pomuze smudlani s usb kabelem nebo az pak restart.
    GIOMIKY
    GIOMIKY --- ---
    Tohle je celkem hezké nastavení xtermu:
    příkaz: cat telecons
    #!/bin/bash
    /usr/bin/uxterm \
    -fa terminus \
    -fs 10 \
    -fg darkGray \
    -bg black \
    -geometry 41x25+150+0 \
    -xrm 'xterm*iconHint: /tmp/xterm' \
    -T " " \
    +samename \
    -xrm "xterm*allowTitleOps: false" \
    -xrm "xterm*selectToClipboard: true"
    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š.
    Kliknutím sem můžete změnit nastavení reklam