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 11:30 | Komunita

Etherpad (Wikipedie), svobodný online webový textový editor umožnující spolupráci v reálném čase, se stal oficiálním projektem organizace Software Freedom Conservancy (Wikipedie). Vývojáři Etherpadu se tak mohou stejně jako vývojáři dalších projektů soustředit pouze na vývoj softwaru a vše kolem zařídí Software Freedom Conservancy. Spuštěna byla instance Etherpadu pad.sfconservancy.org.

Ladislav Hagara | Komentářů: 2
včera 10:40 | Zajímavý článek

Lukáš Růžička se v článku Workrave ve Fedoře aneb jak si nevytunelovat karpál na MojeFedora.cz věnuje aplikaci Workrave (Wikipedie) na sledování času stráveného na počítači, která může pomoci vyhnout se negativním účinkům práce s počítačem (RSI, CTS), nebo je alespoň výrazně zmírnit.

Ladislav Hagara | Komentářů: 1
včera 10:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Shadow Warrior: Special Edition běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 2
20.7. 23:11 | Nová verze

Byla vydána verze 2.4.0 analyzátoru síťového provozu Wireshark. Jedná se o první stabilní verzi nové řady 2.4. Podrobný přehled novinek v poznámkách k vydání. V červnu proběhla konference SharkFest’17 US věnovaná Wiresharku. Záznamy přednášek jsou k dispozici na YouTube.

Ladislav Hagara | Komentářů: 0
20.7. 13:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřeného přístupu na 142. brněnský sraz, který proběhne v pátek 21. července od 18:00 hodin ve Sport Centru Srbská (Srbská 4). Od 19:00 je pro zájemce zamluveno hřiště na plážový volejbal.

Ladislav Hagara | Komentářů: 0
20.7. 12:34 | Bezpečnostní upozornění

V GNOME Soubory, původně Nautilus, konkrétně v generování náhledů exe, msi, dll a lnk souborů byla nalezena a opravena bezpečnostní chyba CVE-2017-11421 s názvem Bad Taste. Při otevření složky obsahující tyto soubory může být spuštěn VBScript obsažen v názvech těchto souborů.

Ladislav Hagara | Komentářů: 2
20.7. 11:00 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 308 bezpečnostních chyb. V Oracle Java SE je například opraveno 32 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 28 z nich. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 9 z nich.

Ladislav Hagara | Komentářů: 0
20.7. 01:00 | Komunita

Mark Krenz, známý svým twitterovým účtem @climagic (Command Line Magic), kde ukazuje, co vše a jak lze dělat v příkazovém řádku, přednášel včera v Praze. Záznam přednášky je k dispozici na YouTube.

Ladislav Hagara | Komentářů: 1
19.7. 10:00 | Nová verze

Microsoft vydal Skype pro Linux ve verzi 5.4 Beta. Nejnovější Skype pro Linux je postaven na frameworku Electron 1.7.4 a přináší skupinové videohovory.

Ladislav Hagara | Komentářů: 11
19.7. 06:00 | Nová verze

Werner Koch, zakladatel a hlavní vývojář GnuPG, oznámil vydání verze 1.8.0 svobodné kryptografické knihovny Libgcrypt. Jedná se o první stabilní verzi nové řady 1.8. Ta je API i ABI kompatibilní s řadou 1.7. Z novinek vývojáři zdůrazňují podporu kryptografických hašovacích funkcí Blake2 (Wikpedie), šifrovací mód XTS nebo zvýšení výkonu na architektuře ARM.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (14%)
 (0%)
 (0%)
 (86%)
Celkem 7 hlasů
 Komentářů: 0
    Rozcestník

    Dotaz: Skript a proměná

    18.4. 14:42 Lederer
    Skript a proměná
    Přečteno: 424×
    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. 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. 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. 12:14 pVit | skóre: 10
    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:~ $

    Kam čert nemůže, tam nainstaluje linux.
    pVit avatar 20.4. 13:37 pVit | skóre: 10
    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.

    Kam čert nemůže, tam nainstaluje linux.
    20.4. 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. 13:59 pVit | skóre: 10
    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.
    Kam čert nemůže, tam nainstaluje linux.
    20.4. 20:17 Kit | skóre: 38 | 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. 22:18 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    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. 22:14 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    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. 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. 19:17 Jindřich Makovička | skóre: 13
    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. 19:19 Jindřich Makovička | skóre: 13
    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.