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

    Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).

    Ladislav Hagara | Komentářů: 0
    dnes 19:22 | Nová verze

    Byla vydána nová major verze 5.0 účetního softwaru GnuCash (Wikipedie). Ve formátu Flatpak je již k dispozici na Flathubu.

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

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Alwa's Awakening (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    dnes 16:55 | Nová verze

    Byla vydána verze 3.28.0 2D CAD (computer-aided design) softwaru QCAD (Wikipedie). Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | IT novinky

    Změna ve vedení společnosti SUSE. Dosavadní CEO Melissa Di Donato odstoupila. Od 1. května je novým CEO Dirk-Peter van Leeuwen, bývalý Senior Vice President a General Manager ve společnosti Red Hat.

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

    CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag). Vydána byla nová major verze 10 (aktuálně 10.4.0). Přehled novinek v Changelogu.

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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-1 Focal založené na Ubuntu 20.04 Focal Fossa.

    Ladislav Hagara | Komentářů: 1
    včera 17:11 | IT novinky

    Společnost Red Hat slaví 30 let.

    Ladislav Hagara | Komentářů: 2
    včera 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (4%)
     (11%)
    Celkem 358 hlasů
     Komentářů: 7, poslední dnes 17:34
    Rozcestník


    Dotaz: Skript na zkontrolování proměnné prostředí

    28.12.2011 23:05 Gustav
    Skript na zkontrolování proměnné prostředí
    Přečteno: 647×
    Zdravím celou Linuxovou komunitu :), mám dotaz ohledně skriptu, který mám udělat do školy. Něco sem vytvořil, ale moc to nefunguje. Proto se obracím na vás s prosbou, zda by jste mi mohli poradit, co a jak udělat. Předem díky za rady. Zadání: Vytvořte skript, který po spuštění zkontroluje, zda proměnné prostředí (které zadáme) jsou stejné jako ty které jsou dříve uložené. Povinně zkontrolovat proměnnou PATH + jednu proměnnou prostředí. Skript má fungovat i pro atributové zadání. Pochopil jsem to tak, že spustím skript, ten se mě zeptá na název jedné proměnné prostředí a na jeho hodnotu, kterou zkontroluju. Na hodnotu se mě ještě zadá u PATHu a vyhodí mi to výsledek o tom, zda se shodují nebo ne. To co jsem vytvořil: #!/bin/bash
    echo -n "Zadejte promennou prostredi: ";read nazev
    env >> promenne.txt
    if grep $nazev promenne.txt; then
    echo -n "Zadejte hodnotu promenne: "; read hodnota
    if grep $hodnota promenne.txt; then
    echo "Polozka NALEZENA"
    grep $hodnota promenne.txt
    else
    echo "Polozka NENALEZENA"
    echo "Hodnota promenne: "$nazev
    ggrep $nazev promenne.txt
    fi
    else
    echo "NENALEZENA zadana promenna prostredi: "$nazev
    fi

    Odpovědi

    29.12.2011 03:21 nedam
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Co treba pres env | grep ^PATH zkontrolovat jestli tam ta promena je a pak ifem zkontrolovat jeji hodnotu?
    29.12.2011 03:30 nedam
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Kdyz nad tim tak premyslim ,tak to s tim grepem nebude stacit, takze spis nejak takto:

    if [ $(env | awk -F= '{ print $1 }' | grep ^PATH) == PATH ]; ...
    pavlix avatar 29.12.2011 08:41 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Proč tak složitě?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    29.12.2011 16:33 nedam
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Protoze me ve 4 rano nic lepsiho nenapadlo a navic je to spatne, takze bych se to nesnazil pouzit.
    pavlix avatar 30.12.2011 00:41 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Tak to jo :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 29.12.2011 09:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Skript na zkontrolování proměnné prostředí
    Pár tipů do začátku:

    1) >> znamená append, připojit na konec. Soubor se přepisuje pomocí >, tedo pokud chceš do souboru uložit celé env. Přípona .txt je zcela zbytečná. Mimochodem, když dáš uložit proměnné v rámci toho skriptu, tak se namáháš zbytečně, protože už není s čím porovnávat. V zadání máš přece dříve uložeé.

    2) Grep umí regexpy (regulární výrazy), takže při rozumných názvech umí být přesnější... tedy hledání proměnné v env se dělá přesněji takto:
    grep "^$nazev=" nazev_souboru_s_prostredim
    Stříška je speciální znak pro chycení začátku řetězce (řádku v případě grepu). Rovnítko je normální znak, který se v tom souboru nachází za názvem proměnné.

    3) Zbavit se názvu proměnné můžeš rovněž přes regexp pomocí unixové obdoby search & replace:
    příkaz_který_vydá_správný_řádek_env | sed -e 's/^.*=//'
    (vyzkoušej sed s tím nahrazovacím příkazem pustit samotný a zkus co ti vypadne, když mu zadáš řádek ve tvaru název=hodnota)

    4) Porovnání... jedna z nejjednodušších možností je uložit si celé řádky či hodnoty do souborů a pustit na tom diff. Ten jde použít přímo v podmínce. Akorát to bude chtít potlačit výstup. Nebo můžeš používat backticky `` a test (hranaté závorky).

    Používej manuálové stránky :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    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.