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:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 16
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1911 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: bash-aritmetika s argumenty

    27.11.2008 11:02 king
    bash-aritmetika s argumenty
    Přečteno: 625×

    Ahoj, chtel bych provadet aritmetiku nad argumenty sheelskriptu ($1, $2, ...). Neco ve stylu:

    for arg in $(seq $#); do

       echo "argument cislo $arg: ${$arg}

    done

    Bash mi ale rve Bad substitution. Nevite, jak provadet expanzi za nazev promenne? dekuji 

    Odpovědi

    27.11.2008 11:25 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    for arg in $(seq $@); do
       echo "argument cislo $arg: $arg"
    done
    27.11.2008 11:35 king
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty

    hmmm

    a kdyz budu chtit skocit o 3 doprava a pak o 2 doleva? 

    27.11.2008 11:58 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    declare -a pole
    
    pole=( $(seq -s ' ' $@) )
    
    echo "${pole[@]}"
    echo "${pole[3]}"
    echo "${pole[1]}"
    27.11.2008 12:05 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    Len na vypisanie argumentov ti staci jednoduchsi cyklus
    for i; do
    # to iste ako for i in *; do
        echo "$i"
    done
    Ak to chces cez cislo argumentu, tak potrebujes nepriame odkazovanie
    for ((i=1; i<$#; i++)); do
        echo "argument cislo $i: ${!i}"
    done
    Ak chces najprv robit aritmetiku o tom, ktory argument vlastne chces;
    i=2
    j=$((i+4))
    echo "argument cislo $j: ${!j}"
    If you hold a Unix shell up to your ear, you can you hear the C.
    27.11.2008 13:01 king
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty

    to je ono!

    ${!variable}

    divne je ze manualova stranka bashe se o teto konstrukci nezminuje.

    27.11.2008 14:33 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    Ale zmienuje. v casti Parameter Expansion

    If the first character of parameter is an exclamation point, a level of variable indirection is introduced. Bash uses the value of the variable formed from the rest of parameter as the name of the variable; this variable is then expanded and that value is used in the rest of the substitution, rather than the value of parameter itself. This is known as indirect expansion. The exceptions to this are the expansions of ${!prefix*} and ${!name[@]} described below. The exclamation point must immediately follow the left brace in order to introduce indirection.
    If you hold a Unix shell up to your ear, you can you hear the C.
    27.11.2008 13:23 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    v cyklu to zle udělat i třeba takto:
    argCislo=1
    
    for arg in "$@"; do
    	echo "argument cislo: $argCislo je: $arg"
    	let argCislo++
    done
    27.11.2008 19:13 luky
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty

    Coz ovsem neni v nicem lepsi reseni nez to predchozi, nemluve o tom, ze pointa je jinde :) 

    27.11.2008 19:20 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty
    Tady ale nešlo o ukázku lepšího řešení :-D které z podstaty ani být nemůže ;-)
    27.11.2008 12:10 Jirka P
    Rozbalit Rozbalit vše Re: bash-aritmetika s argumenty

    Dá se klasicky přes eval:

    eval echo "argument cislo $arg: \${$arg} 

    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.