abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 07:11 | IT novinky

    Elon Musk na akci We, Robot (YouTube, 𝕏) představil Robotaxi, Robovan a vylepšeného Tesla Bota (Optimus).

    Ladislav Hagara | Komentářů: 19
    dnes 06:33 | IT novinky

    Internet Archive je offline (𝕏, Bluesky, Mastodon‪). Unikly údaje 31 milionů uživatelů. Probíhal / probíhá na něj DDoS útok.

    Ladislav Hagara | Komentářů: 0
    dnes 05:22 | Komunita

    Alyssa Rosenzweig se v příspěvku na svém blogu rozepsala o hraní AAA her na Asahi Linuxu. Na YouTube je záznam její včerejší přednášky na XDC 2024 (X.Org Developer's Conference).

    Ladislav Hagara | Komentářů: 7
    dnes 04:55 | IT novinky

    Vláda schválila Národní polovodičovou strategii: Česká republika má velký potenciál stát se významným hráčem v oblasti výroby čipů, zejména v evropském měřítku. Využít tento potenciál je cílem Národní polovodičové strategie, kterou připravilo Ministerstvo průmyslu a obchodu ve spolupráci s experty, a která navazuje na evropský Akt o čipech.

    Ladislav Hagara | Komentářů: 2
    včera 18:11 | Zajímavý software

    V lete vyšiel Aeonwave 4.0, ktorý niekoľkonásobne menej vyťažuje procesor pri interpretácií priestorového zvuku než OpenAL Soft. Autor hľadá prispievateľov do knižnice libaaxopenal za účelom pridania ALC_EXT_EFX rozšírení využívaných napr. v hre Doom 3 cez port Dhewm3 v Linuxe.

    atirage21 | Komentářů: 5
    včera 15:33 | Nová verze

    Linuxová distribuce Ubuntu 24.10 „Oracular Oriole“ byla vydána. Jde o průběžné vydání s podporou 9 měsíců. Obsahuje mj. Linux 6.11 či GNOME 47 s několika odkazy na první vydání Ubuntu (4.10 „Warty Warthog“) před 20 lety. K dispozici jsou také oficiální deriváty s odlišnými výchozími desktopovými prostředími anebo balíky aplikací.

    Fluttershy, yay! | Komentářů: 2
    včera 13:55 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové major verzi 2.0 (YouTube). Důležité změny v Migration Guide.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | Nová verze

    Apache Tomcat (Wikipedie) slaví 25 let. Při té příležitosti byla vydána nová verze 11.0. Přehled novinek v poznámkách k vydání.

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

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 24.09.0. Přehled novinek v poznámkách k vydání. O3DE má nového maskota: Odie.

    Ladislav Hagara | Komentářů: 0
    9.10. 21:11 | Humor

    Kdo chce podpořit společnost Nintendo v jejím boji proti open source softwaru (Ryujinx, yuzu, …), může si koupit Nintendo budík Alarmo za 100 dolarů. Za jak dlouho bude na budík naportován Doom?

    Ladislav Hagara | Komentářů: 22
    Rozcestník

    Dotaz: BASH - Zjištění proměnných

    5.3.2013 17:23 KK
    BASH - Zjištění proměnných
    Přečteno: 1071×
    Ahoj,
    - vytvořím soubor /tmp/go
    - nastavím práva x pro spuštění
    - spustím soubor /tmp/go
    jak můžu teď zjistit, jestli existuje nějaká proměnná kterou jsem sám nenadefinoval? Jedná se mi o to, abych čistě náhodou nepřepsal nějakou proměnnou pokud bych použil stejný název. Děkuji za pomoc

    Odpovědi

    5.3.2013 17:39 pavel
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    A proč si to nezkusíš? Vytvoř si dva spustitelné soubory se stejnými proměnnými, ale různými hodnotami. Uvidíš, co se stane (pokud proměnné neexportuješ, tak nic...). Možná by bylo lepší napsat, o co konkrétně se snažíš.
    5.3.2013 19:25 potato
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Odlišit nenastavenou proměnnou od prázdné není úplně triviální, protože $foo expanduje na totéž. Funguje třeba
    if declare -F -p názevproměnné &>/dev/null; then ...
    Ale zbytek dotazu, tedy to, k čemu se to snažíš použít, nedává smysl. Shell provádějící /tmp/go má vlastní proměnné prostředí.
    6.3.2013 01:21 Atrament
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Zjištění zda už existuje proměnná s názvem VAR:

    [ "${VAR+existuje}" = existuje ] && echo "existuje" || echo "neexistuje"
    6.3.2013 07:54 potato
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Jak tu bylo mnohokrát diskutováno, tahle složená konstrukce s && a || předpokládá určité návratové hodnoty echo, a ty nejsou zaručeny -- k selhání echo stačí například redirect do /dev/full. Nepoužívat.
    6.3.2013 08:04 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    if [ -v PROMENNA ] ; then echo 'Promenna PROMENNA nastavena' ; else echo 'Promenna PROMENNA nenastavena' ; fi
    
    6.3.2013 09:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Anebo taky:
    KDYZ existuje-li PROMNENA; TAK echo 'Promenna PROMENNA nastavena' ; NEBO echo 'Promenna PROMENNA' ; SLUS
    :-)
    To výše uvedené funguj kde/v čem?

    [ "${VAR+existuje} " = existuje ] &&& echo "existuje " || echo "neexistuje "
    Je také špatně, minimálně pro ||.

    Byť je třeba se některým názvů vyhout nebo vědět (třeba IFS), tak nevím na co je to dobré to zjišťovat, nicméně lze se juknou:
    set -o posix ; set
    takže se nabízí třeba i něco jako:
    ( set -o posix ; set ) | grep -q -E "^KUK=.*"
    if [ "$?" -eq "0" ]; then echo 'existuje' ; else echo 'neexistuje'; fi
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.3.2013 09:26 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    To výše uvedené funguj kde/v čem?

    Přinejmenším v Bashi.

    6.3.2013 10:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Asi přinejmenším „nějaké verze“, bo:
    > bash -version | head -n1
    GNU bash, version 3.2.39(1)-release (i586-suse-linux-gnu)
    > help test | grep -e '-v'
    > PROMENNA='que trabaja'
    > if [ -v PROMENNA ] ; then echo 'Promenna PROMENNA nastavena' ; else echo 'Promenna PROMENNA nenastavena' ; fi
    -bash: [: -v: unary operator expected
    Promenna PROMENNA nenastavena
    
    $ -version | head -n1
    GNU bash, verze 4.1.10(4)-release (i686-pc-cygwin)
    $ help test | grep -e '-v'
    $ PROMENNA='que trabaja'
    $ if [ -v PROMENNA ] ; then echo 'Promenna PROMENNA nastavena' ; else echo 'Promenna PROMENNA nenastavena' ; fi
    -sh: [: -v: očekáván unární operátor
    Promenna PROMENNA nenastavena
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.3.2013 10:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Sorry za druhý „nejasný“ výpis:
    $ -version | head -n1
    GNU bash, verze 4.1.10(4)-release (i686-pc-cygwin)
    $ bash
    $ help test | grep -e '-v'
    $ PROMENNA='que trabaja'
    $ if [ -v PROMENNA ] ; then echo 'Promenna PROMENNA nastavena' ; else echo 'Promenna PROMENNA nenastavena' ; fi
    bash: [: -v: očekáván unární operátor
    Promenna PROMENNA nenastavena
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.3.2013 10:36 Atrament
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    ve 4.2 už to funguje, asi nějaká novinka
    6.3.2013 10:59 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    asi nějaká novinka

    Ano. Ale nevím, od které verze Bashe byla uvedena. Budu se soustředit na něco přenositelnějšího (jak je zmíněno dolejc).

    6.3.2013 11:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    To je to co přesně „nemám rád“, to, že použiji „bashismus“ nevadí, když vím že to dělám pro bash, ale když si vyjedu svůj aktuální man/help a něco tam je, tak to v klidu použiji pak zjistím, že je „módní výstřelek“ dané verze, tak mě to nakrkne… :-(
    Píšou tam aspoň „od verze“ myšleno v help test?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.3.2013 11:31 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    man bash
    -v varname True if the shell variable varname is set (has been assigned a value).

    Tzn. že není upozorněno, že je to "specialita".

    info bash
    
    -v VARNAME' True if the shell variable VARNAME is set (has been assigned a value).

    Tzn. že se znovu nedozvíme, že se jedná o "specialitu".

    6.3.2013 10:40 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    bash --version | head -n1
    GNU bash, verze 4.2.42(2)-release (x86_64-unknown-linux-gnu)
    

    Mně to funguje.

    6.3.2013 11:02 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných

    Díky za upozornění.

    6.3.2013 10:28 potato
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    Tyto http://pubs.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_06_02 by měly fungovat v libovolném POSIXovém shellu, což zahrnuje i uvedené ${x+y}. Jiné jsou bashové speciality.
    6.3.2013 13:07 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Zjištění proměnných
    set
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.