Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
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.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
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
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
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
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"
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.
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.