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 11:55 | Zajímavý software

    Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).

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

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | Nová verze

    Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.

    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Nová verze

    Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.

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

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

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

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

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

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 12
    23.11. 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 396 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: 597×

    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.