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 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

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

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

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

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 2
    včera 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Komunita

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (6%)
     (4%)
     (3%)
     (4%)
     (2%)
    Celkem 187 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Unixové nástroje – 19 (alias, type, expr)

    27. 8. 2010 | David Watzke | Návody | 7575×

    V tomto díle si představíme příkaz alias pro nastavování a vypisování tzv. aliasů, type pro výpis typu daného příkazu a expr k vyhodnocení zadaného matematického výrazu.

    Obsah

    alias

    alias je příkaz sloužící k nastavování aliasů. Alias slouží primárně ke zkrácení delšího příkazu, například po spuštění:

    alias l="ls -lF"
    

    bude možné zavolat příkaz ls -lF spuštěním samotného l v dané instanci shellu.

    Chcete-li vypsat všechny nastavené aliasy, spusťte alias bez argumentů:

    $ alias
    alias _update='yaourt -Syu --aur'
    alias grep='grep --color=auto'
    alias l='ll'
    alias ll='ls -l'
    alias ls='ls --color --group-directories-first -hF'
    alias pacman='pacman-color'
    alias su='sux -'
    alias unp='aunpack'
    alias vi='vim'
    alias xterm='xterm -u8'
    

    Chcete-li vypsat konkrétní alias, zadejte jeho název:

    $ alias grep
    alias grep='grep --color=auto'
    

    A jak jste si již všimli v první ukázce, nastavování probíhá uvedením názvu aliasu, potom následuje rovnítko a v uvozovkách (dle potřeby) potom hodnota aliasu:

    # chcete-li aby se proměnná v aliasu nahrazovala ihned,
    # použijte pro hodnotu aliasu uvozovky:
    alias _home="echo $HOME"
    
    # chcete-li aby se proměnná nahrazovala teprve při spuštění
    # aliasu, použijte apostrofy:
    alias _home='echo $HOME'
    # nebo v uvozovkách escapujte znak $
    alias _home="echo \$HOME"
    

    Ještě se sluší podotknout, že v aliasu můžete použít i jiný alias:

    alias ls="ls --color=auto"
    # "ll" bude ve skutečnosti "ls --color=auto -l"
    alias ll="ls -l"
    # "l" bude totéž jako "ll"
    alias l=ll
    

    Pro zrušení daného aliasu spusťte:

    unalias nazev_aliasu
    

    Pro zrušení všech aliasů spusťte:

    unalias -a
    

    Chcete-li, aby vámi nastavené aliasy byly dostupné pořád a ve všech instancích shellu, potom použijte konfigurační soubor shellu. Používáte-li Bash, potom to je ~/.bashrc pro daného uživatele a zpravidla /etc/bash.bashrc nebo /etc/bash/bashrc pro celý systém.

    Malý tip ze specifikace na závěr: Chcete-li spustit alias přes nohup, nepůjde vám to, protože příkaz nebude interpretován jako alias. Ovšem lze to obejít pomocí:

    alias nohup="nohup "
    

    Potom už vás nic nezastaví.

    type

    type je příkaz sloužící k výpisu typu daného příkazu. Přesněji řečeno vypíše, jak by byl daný příkaz interpretován, kdyby byl spuštěn z daného shellu.

    Existuje několik možností, ukážeme si je na příkladech:

    $ type type
    type je součást shellu
    
    $ type function
    function je klíčové slovo shellu
    
    $ type amarok
    amarok je /usr/bin/amarok
    
    $ type ls
    ls je alias na „ls --color --group-directories-first -hF“
    
    $ type hello_world
    hello_world je funkce
    hello_world ()
    {
        printf 'Hello World!\n'
    }
    

    Lze vypsat i více příkazů najednou:

    $ type grep _update
    grep je alias na „grep --color=auto“
    _update je alias na „yaourt -Syu --aur“
    

    To je asi tak vše, co lze napsat o standardní implementaci tohoto příkazu. Implementace type v Bashi a Z shellu (zsh) toho umí víc, díky dalším přepínačům.

    S přepínačem -t umí vypsat pouze „alias“, „keyword“, „function“, „builtin“, „file“ nebo „“ podle toho, zda je příkaz alias, klíčové slovo shellu, funkce, vestavěný příkaz (součást shellu), soubor nebo neexistující příkaz. Toto se může hodit například při neinteraktivním použití v shellových skriptech.

    $ type -t type function amarok ls hello_world
    builtin
    keyword
    file
    alias
    function
    

    Přepínač -a zajistí výpis všech možných interpretací příkazu.

    $ type -a echo
    echo je součást shellu
    echo je /bin/echo
    
    $ type -a nohup
    nohup je alias na „nohup “
    nohup je /usr/bin/nohup
    

    Přepínač -f potlačí vyhledávání příkazu mezi funkcemi shellu. S přepínačem -p je buď vypsán patřičný soubor, který by byl spuštěn (pokud existuje), nebo nic.

    expr

    expr slouží k vyhodnocení zadaného matematického výrazu (expr je zkratkou expression, tj. anglicky výraz).

    Každý operand a operátor musí být uveden jako oddělený argument.

    $ expr 5 + 10
    15

    Mezi podporované operátory patří |, &, =, >, >=, <, <=, !=, +, -, * (krát), / (děleno), % (modulo, zbytek po dělení) a : (viz níže). Mnohé ze jmenovaných operátorů jsou zároveň ovládací znaky shellu, proto je třeba tyto znaky escapovat (uvést je do uvozovek nebo bezprostředně za zpětné lomítko). Prioritu vyhodnocení lze ovlivnit jednoduchými závorkami.

    # zbytek po dělení 1024 / 86
    expr 1024 % 86
    
    # 1024 krát 1024
    expr 1024 \* 1024
    
    # (3+6) krát 8
    expr "(" 3 + 6 ")" "*" 8
    

    Operátory, jejichž návratová hodnota je typu boolean (pravda či nepravda), vracejí hodnotu 0 pro nepravda a 1 pro pravda. Mezi tyto operátory patří <, >, =, atp.

    # je 5 menší než 10?
    expr 5 "<" 10
    

    Speciální operátor „:“ slouží k porovnání řetězce s jednoduchým regulárním výrazem. Hodnota, kterou tato operace vrátí, je rovna počtu znaků, které regulární výraz označil, přičemž 0 značí chybu.

    $ a=1
    $ expr "$a" : "[0-9]"
    1
    

    Pro čistou aritmetiku je zpravidla lepší použít příkaz bc, který zmíním v některém z příštích dílů:

    echo "3*4+14/2" | bc
    
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    27.8.2010 01:43 Halis | skóre: 6 | blog: capacitor
    Rozbalit Rozbalit vše Re: Unixové nástroje – 19 (alias, type, expr)
    Reportuji chybu:

    Ještě se sluší podotknout, že v aliasu můžete použít i jiný alias:

    alias ls="ls --color=auto"

    # "ls" bude ve skutečnosti "ls --color=auto -l"
    David Watzke avatar 27.8.2010 09:03 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Unixové nástroje – 19 (alias, type, expr)
    Chyba je na tvé straně.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    27.8.2010 12:19 Andrej | skóre: 9
    Rozbalit Rozbalit vše Re: Unixové nástroje – 19 (alias, type, expr)
    ten expr regexp tester je super! velka vdaka!
    Any sufficiently advanced magic is indistinguishable from technology. --Larry Niven
    27.8.2010 12:27 Lada
    Rozbalit Rozbalit vše poznamka pro type
    Prikaz type je interni funkce shellu, proto jsou rozdilne interpretace napr. pro bash a zsh.
    27.8.2010 14:24 void
    Rozbalit Rozbalit vše Re: poznamka pro type
    To jsem taky chtěl napsat. A myslím, že i alias je shell bultin.
    27.8.2010 15:10 Lada
    Rozbalit Rozbalit vše Re: poznamka pro type
    To ano, staci aplikovat type alias , ale chtel jsem jen upozornit, ze zsh nezna argument -t pro type. Proto ty priklady nebudou vzdy fungovat. Ale jinak rad tento serial ctu a moc za nej dekuju.
    David Watzke avatar 27.8.2010 15:38 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: poznamka pro type
    Díky za upozornění, já jsem zkoušel, zda je type v zsh taky schopné jako to v Bashi a vyzkoušel jsem jen některé přepínače a zrovna tenhle mi utekl.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    27.8.2010 21:49 void
    Rozbalit Rozbalit vše Re: poznamka pro type
    Jj, i mně se tenhle seriál líbí. Pozvedává to úroveň z bahna komiksů apod.
    David Watzke avatar 27.8.2010 15:37 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: poznamka pro type
    Ano, je a musí být. To vadí?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    27.8.2010 21:44 void
    Rozbalit Rozbalit vše Re: poznamka pro type
    Samozřejmě nevadí, jen jsem to chtěl dodat. :) Možná by bylo dobrý to psát ke každýmu příkazu, jestli je to shell builtin, nebo samostatnej program (ale můj vkus je vlastně pro redakci nezajímavej :)).
    28.8.2010 09:09 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: poznamka pro type
    Ne že by to nebylo uvedeno hned jako první příklad (type type) :)

    Založit nové vláknoNahoru

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