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 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 2
    dnes 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 5
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 1
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 18
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    6.2. 13:33 | IT novinky

    Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.

    Ladislav Hagara | Komentářů: 4
    6.2. 11:22 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po

    … více »
    Ladislav Hagara | Komentářů: 28
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (29%)
    Celkem 814 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Skript a proměná

    18.4.2017 14:42 Lederer
    Skript a proměná
    Přečteno: 539×
    Dobrý den,

    # cat skript.sh
    #!/bin/bash
    SNAPSHOT="fotky"
    lvcreate -s -L 2G -n $SNAPSHOT-snap /dev/vg01/$SNAPSHOT
    Mám tady ukázku osekaného skriptíku a můj dotaz spočívá v tom, zda a jak se dá udělat, abych v něm nemusel natvrdo psát proměnnou, ale skript bych spustil např. ./skript.sh fotky a všechny proměnné SNAPSHOT by byly fotky. Pak bych zadal např. ./skript.sh root a všechny proměnné SNAPSHOT by byly root atd. Snad je to pochopitelné. Moc díky za nakopnutí:)

    Odpovědi

    18.4.2017 14:58 PEE
    Rozbalit Rozbalit vše Re: Skript a proměná
    #!/bin/bash
    lvcreate -s -L 2G -n $1-snap /dev/vg01/$1
    18.4.2017 15:02 NN
    Rozbalit Rozbalit vše Re: Skript a proměná
    ./skript.sh foo bar
    
    #!/bin/bash
    
    echo "Skript $0 a parametry $1 a $2."
    
    pVit avatar 20.4.2017 12:14 pVit | skóre: 11
    Rozbalit Rozbalit vše Re: Skript a proměná

    Pro pevný počet argumentů:

    #!/bin/bash

    ARG_COUNT=$#

    SCRIPT_NAME=$0

    ARG_1=$1

    ARG_2=$2

    ARG_3=$3

    echo "NAME - $SCRIPT_NAME, Arguments - $ARG_COUNT, 1. argument - $ARG_1, 2. argument - $ARG_2, 3. argument - $ARG_3"

     

    Výstup:

    pi@raspberrypi:~ $ /home/pi/args prvni druhy treti

    NAME - /home/pi/args, Arguments - 3, 1. argument - prvni, 2. argument - druhy, 3. argument - treti

     

     

    Další možností může být naplnění pole argumenty:

    #!/bin/bash

    declare -a ARG_ARRAY=(`echo $@`);

    for i in "${ARG_ARRAY[@]}"

    do echo $i

    done

     

    Výstup:

    pi@raspberrypi:~ $ /home/pi/arguments jedna dva tri ctyri pet

    jedna

    dva

    tri

    ctyri

    pet

    pi@raspberrypi:~ $

    Writing multithreaded code is easy... to get wrong.
    pVit avatar 20.4.2017 13:37 pVit | skóre: 11
    Rozbalit Rozbalit vše Re: Skript a proměná
    Jinak analogicky k tvému problému můžeš udělat script, který vykoná tvůj příkaz pro všechny argumenty.

    #!/bin/bash

    declare -a ARG_ARRAY=(`echo $@`);

    for i in "${ARG_ARRAY[@]}"

    do

    lvcreate -s -L 2G -n $i-snap /dev/vg01/$i

    done

    Pak si dáš jen ./skript.sh fotky root dalsi dalsi a vytvoří ti to všechno automaticky naráz.

    Writing multithreaded code is easy... to get wrong.
    20.4.2017 13:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Skript a proměná

    Jakou výhodu získáte tím polem oproti obvyklému

    while [ $# -gt 0 ]; do
        lvcreate -s -L 2G -n "${1}-snap" "/dev/vg01/$1"
        shift
    done
    

    nebo

    for v in "$@"; do
        lvcreate -s -L 2G -n "${v}-snap" "/dev/vg01/$v"
    done
    

    ?

    pVit avatar 20.4.2017 13:59 pVit | skóre: 11
    Rozbalit Rozbalit vše Re: Skript a proměná
    Síla zvyku, mám radši pole pro přehlednost a orientaci při více odkazech do něj. V tomto jednoduchém případě je samozřejmě lepší využít tvůj způsob.
    Writing multithreaded code is easy... to get wrong.
    20.4.2017 20:17 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Skript a proměná
    Jaké pole? Žádné pole v jeho řešení nevidím. Pouze seznamy.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.4.2017 22:18 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Skript a proměná

    Slovíčkaření. Když tomu Bash říká Arrays, nevidím důvod nazývat to seznam, najdu tam, co neznám nebo jakkoliv jinak.

    20.4.2017 22:14 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Skript a proměná

    Ne že bych čekal ve jménech zařízení mezery, ale proč je nepodporovat, když to jde? A vůbec, je lepší mít vždycky všechno bezpečně oescapované, pokud se nějak pracuje se vstupem z příkazové řádky.

    #!/bin/bash                                                                                                                                
    ARGS=("$0" "$@")                                                                                                                           
    for idx in "${!ARGS[@]}"; do                                                                                                               
      echo "Argument číslo ${idx}: ${ARGS[idx]}"                                                                                               
    done                                                                                                                                       
    Tohle^^^ taky názorně ukazuje konvenci kolem argv[0] a některé detaily chování "$@". Příklad:
    $ /tmp/zee první 'druhý s mezerami' 't ř e t í' čtvrtý
    Argument číslo 0: /tmp/zee
    Argument číslo 1: první
    Argument číslo 2: druhý s mezerami
    Argument číslo 3: t ř e t í
    Argument číslo 4: čtvrtý
    
    21.4.2017 17:34 thuner
    Rozbalit Rozbalit vše Re: Skript a proměná
    Tohle by se mělo objevovat častěji, používám to osobně ve skriptu s unison a rsync:
    OPTS1=(-copyprog "rsync -aX --rsh='ssh -p 22 -i /root/.ssh/unison/id_rsa -c arcfour' --inplace"
           -copyprogrest "rsync -aX --rsh='ssh -p 22 -i /root/.ssh/unison/id_rsa -c arcfour' --partial --inplace"
           -copythreshold 0
           -copyquoterem true
           )
    
    unison "${OPTS1[@]}" "${OPTS2[@]}" .....
    
    21.4.2017 19:17 Jindřich Makovička | skóre: 17
    Rozbalit Rozbalit vše Re: Skript a proměná
    To echo je tam zbytečně, viz shellcheck. Stačí
    #!/bin/bash
    declare -a ARG_ARRAY=($@)
    for i in "${ARG_ARRAY[@]}"
    do
        lvcreate -s -L 2G -n "$i-snap" "/dev/vg01/$i"
    done
    
    21.4.2017 19:19 Jindřich Makovička | skóre: 17
    Rozbalit Rozbalit vše Re: Skript a proměná
    Oops, vypadly mi uvozovky v declare -a ARG_ARRAY=("$@")

    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.