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 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

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

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: bash-aritmetika s argumenty

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

    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.