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

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 4
    dnes 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 34
    dnes 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

    Ladislav Hagara | Komentářů: 16
    dnes 02:33 | Nová verze

    Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.

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

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Bezpečnostní upozornění

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Nová verze

    Byla vydána říjnová aktualizace aneb nová verze 1.106 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Komunita

    Canonical pro své zákazníky, předplatitele Ubuntu Pro, prodloužil podporu Ubuntu LTS z 12 let na 15 let (Legacy add-on). Týká se verzí od 14.04 (Trusty Tahr).

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

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 5.0.0. Nově je oficiálně podporován Linux ARM64/AArch64. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (23%)
     (15%)
     (22%)
     (15%)
     (16%)
    Celkem 352 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Bešové laskominy

    26.5.2005 16:03 | Přečteno: 2062× | BASH | poslední úprava: 27.5.2005 08:02

    Občas by člověk potřeboval něco naprogramovat v BASHi a nepamatuje si, nedělá to často a tak. No a k tomu by se mu hodily nějaké tu základní konstrukce vytesané do webu. Třeba zrovna dnes jsem hledal způsob jak se pracuje s proměnými jejichž název je v nějaké proměné. Paradoxní, že jsem hledal svůj vlastní příspěvek a v něm obsažený příklad.

    #!/bin/bash
    foo () {
      local var=BAR_$1
      eval $var=$2
      echo ${!var}
    }
    foo Ahoj svete     # melo by vypsat "svete"
                       # uvnitr funkce by mela vzniknout promenna
                       # BAR_Ahoj="svete"
    echo $BAR_Ahoj
    exit 0

    Fixní adresář

    Jak se vždy přepnout do adresáře kde je umístěn script a dělat cosik relativně k tomuto adresáři?

    # go to root directory of project
    origdir=$(pwd)
    cd ${0%/*}

    Co udělat s parametrem od uživatele, když nám zadá cestu k nějakému souboru (když relativní tak zpravidla relativní k původnímu umístění).

    [ ${1:0:1} == '/' ] &&
      filename=$1 ||
      filename=$origdir/$1

    Uklidit po sobě

    Ať se stane cokoli, měli bychom po sobě uklidit. Teda pokud se nebjeví nějakej "umětel" a nepošle nám SIGKILL.

    #exit clean
    clean() {
      rm -rf $clist $dlist $packdir
    }
    
    trap clean EXIT

    Error handling

    Něco málo k hezkým chybovým hláškám.

    #error messages
    error() {
      local exitcode=$1
      shift
      [ $exitcode != 0 ] && local prefix="error $exitcode:"
      errormsg "$prefix $@"
      exit $exitcode
    }
    errormsg() { echo "${0##*/}: $@" >&2 ; }

    Debug

    Občas se hodí udělat ten program trochu ukecanější.

    #debug info
    debug() {
      [ "$debug" == 1 ] && errormsg "debug: $@"
    }
    debugvar() {
      for i
      do 
        debug "${IFS:1:1}variable $i: '${!i}'"
      done
    }

    Parametry

    Tohle už tu bylo, ale trocha opakování ještě nikoho nezabila.

    # usage
    usage() {
      cat >&2 <<EOF
    
    Usage: ${0##*/} [switches] [release_type]
      -h | --help print help
      -c | --create print template for defined files list (to stdout)
      -l <filename> | --listfile=<filename> determine alternative filename for listfile
      -t | --test only test listfile
      -d | --debug  print debug informations
    
    EOF
      [ $# -ge 1 ] && exit $1
    }
    
    # get options
    params=$(
        getopt -n "${0##*/}" -l help,create,listfile:,test,debug -o hcl:td -- "$@"
      )
    [ $? != 0 ] && usage 1
    
    # remove quotes
    eval set -- "$params"
    unset params
    
    # handle parameters
    while :
    do
      case "$1" in
        -h|--help) usage 0;;
        -c|--create) create_listfile ;;
        -l|--listfile) shift
          [ ${1:0:1} == '/' ] &&
            listfile=$1 ||
            listfile=$origdir/$1 ;;
        -t|--test) test=1;;
        -d|--debug) debug=1;;
        --) shift; break ;;
        *) error 32 "Internal Error: Inconsistent getopt params!";;
      esac
      shift
    done
    

    A to je pro dnešek vše přátelé.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    26.5.2005 17:02 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše man bash
    Až zase jednou zjistím, že neumím hledat v man bash, tak se podívám sem. :-)
    26.5.2005 17:23 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Pěkné
    Bookmarkováno :-)
    26.5.2005 20:40 doubleZ | skóre: 24 | blog: smazano
    Rozbalit Rozbalit vše Re: Pěkné
    Diky! :-)
    27.5.2005 01:21 jm
    Rozbalit Rozbalit vše Uklid...
    tak by jsme
    Et tu, Brute? :-)
    27.5.2005 07:58 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Uklid...
    Fixed.

    P.S.: A já myslel, že další pochvala :-(
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    27.5.2005 10:06 jm
    Rozbalit Rozbalit vše Re: Uklid...
    Ale no joo, ja uz to mam taky zabookmarkovano, ale nemuzem te prechvalit, no... ;-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.