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í
×

    včera 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 0
    včera 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 10
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    23.3. 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 2
    23.3. 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 320 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Dotaz: Bash: Jak udělat zobrazení teček

    19.6.2012 17:41 Orlando
    Bash: Jak udělat zobrazení teček
    Přečteno: 497×
    Ahoj, šlo by nějaku udělat to, že pokud spustím nějaký příkaz který trvá fakt dlouho tak aby se zobrazilo třeba nějaké tečkování a kažkou sec. by se jedna tečka přidala a já bych věděl že script nevytuhl ale že pořád funguje? Díky

    Odpovědi

    Josef Kufner avatar 19.6.2012 18:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Malá inspirace.

    Koukni na trap a alarm.
    Hello world ! Segmentation fault (core dumped)
    19.6.2012 23:54 Orlando
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Tak jsem našel tohle
    function progr_bar {
         MAX=$1
         PERCENT=0
         FOO=">"
         BAR=""
    while [ $PERCENT -lt $(($MAX+1)) ]
    do
    echo -ne "\r\t[ "
    echo -ne "$BAR$FOO ] $((PERCENT*100/$MAX))% "
    BAR="${BAR}="
    let PERCENT=$PERCENT+1
    sleep 0.1
    done
    echo -e " Done.\n"
    }
    
    progr_bar 10
    ale nemůžu tam nijak napasovat tu mou funkci aby progr_bar vedel kdy je MyFCE ukončena :(
    function MyFCE {
    tar ..............
    }
    Neporadí někdo znalý? Uz se s tím morduji 2 dny :(
    20.6.2012 00:20 l4m4
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Žádné místo, kam napsasovat tvou funkci, tady není. Musí běžet paralelně s tím zobrazování progressu. Viz odpověď Josefa Kufnera.
    20.6.2012 23:05 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Obecně prostě příkaz, kterej chceš vykonat, je třeba spusit na pozadí:

    prikaz &

    zapamatovat si pid

    PID=$!

    a pak na něj "čekat", než se provede

    while [ kill -0 $PID ] ; do
         echo -n "." 
         sleep 1
    done
    
    20.6.2012 23:18 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Druhá možnost je pustit na pozadí tečkování a po skončení příkazu tečkování ukončit.
    rADOn avatar 20.6.2012 13:01 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Pokud to tečkování není navázané na nějakou akci uvnitř (např. zpracovaný záznam) tak je taková věc na pikaču. Asi jako animovaný ikonkovátka ve wydlích který vesele animujou i když je program pod nimi mrtvej jak rathova kariéra. Pokud chceš ověřit že to něco dělá, koukni radši na účtovací informace – když to žere cykly nebo třese diskem tak to žije.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    20.6.2012 13:56 Kit
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Přinejhorším by se to dalo navázat na velikost toho výsledného taru. To by se snad ve druhém vlákně dalo udělat.
    20.6.2012 16:54 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Bash: Jak udělat zobrazení teček
    Něco takového používám, skript pct.sh kterému se zadají tři parametry: "jak spočítat aktuální hotnotu" prostřednictvím eval, "kolik je 100 procent" a "label". Ukazuje to kolik procent je hotovo (hodnota se přepisuje).

    Je to už mnoho let starý skript spíchnutý horkou jehlou tak nevypadá nic moc :)

    V programech třeba pro konverzi apod. pak volám:
    (while true; do pct.sh "stat -Lc%s \"$ofname\"" "$(stat -Lc%s "$ifname" 2>/dev/null || echo 0)" "$ofname: "; sleep 3; done) &
    pidofwatch=$!
    trap "kill $pidofwatch" EXIT
    Ten pct.sh pak vypadá:
    cmd_current="$1"
    pct_100="$2"
    label="$3"
    
    [[ "$pct_100" =~ ^[0-9][0-9]*$ ]] || exit
    
    pct_current="$(eval $cmd_current 2>/dev/null)"
    
    [[ "$pct_current" =~ ^[0-9][0-9]*$ ]] || exit
    
    if [[ "$pct_current" -gt "$pct_100" ]]; then
      pct="over 100"
    else
      pct="$(( 100 * $pct_current / $pct_100 ))"
    fi
    
    for((i=0;$i<${#label};i++)) {
      echo -n -e "\b"
    }
    for((i=0;$i<${#pct};i++)) {
      echo -n -e "\b"
    }
    echo -n -e "\b"
    
    echo -n "$label$pct%"

    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.