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:33 | Zajímavý článek

    Stovky Indů předstíraly, že jsou neuronová síť. Vzestup a pád Builder.ai.

    Ladislav Hagara | Komentářů: 2
    dnes 13:33 | Komunita

    Při operaci Pavučina, tj. rozsáhlé diverzní akci ukrajinských bezpečnostních sil, provedené 1. června 2025, při které byly bezpilotními kvadrokoptérami napadeny ruské strategické letecké základny hluboko na území Ruské federace, byl použít [𝕏] svobodný software ArduPilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPLv3.

    Ladislav Hagara | Komentářů: 9
    dnes 10:44 | Zajímavý článek

    V polovině května uplynul jeden rok od spuštění aukcí CZ domén, které provozuje sdružení CZ.NIC. Hlavním cílem bylo zpřístupnit uvolňované domény z registru (po expiraci nebo smazání) většímu okruhu zájemců. Před spuštěním aukcí se totiž k takovým doménám dostávalo jen několik málo subjektů, které uvolňované domény „odchytávaly“ s velkou úspěšností díky automatizovaným systémům k tomu připraveným. Běžný zájemce neměl reálnou šanci

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-9 Focal, tj. deváté stabilní vydání založené na Ubuntu 20.04 Focal Fossa.

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

    Firma Murena představila (PeerTube, YouTube) novou verzi 3.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Nová verze

    Byla vydána nová verze 5.12 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    2.6. 19:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 0
    2.6. 12:11 | Bezpečnostní upozornění

    Byly publikovány informace (txt) o zranitelnostech CVE-2025-5054 v Apport a CVE-2025-4598 v systemd-coredump. Lokální uživatel se může dostat k výpisu paměti programu (core dump) s SUID a přečíst si tak například /etc/shadow.

    Ladislav Hagara | Komentářů: 1
    2.6. 11:11 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 2,69 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 30,95 %. Procesor AMD používá 68,77 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 3
    1.6. 23:22 | Nová verze

    Byla vydána verze 4.0 open source programu na kreslení grafů Veusz (Wikipedie). Přehled novinek v poznámkách k vydání. Proběhla portace na Qt 6.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (33%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 198 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Dotaz: Rozdíl mezi shel a bash

    26.10.2017 14:58 Martina
    Rozdíl mezi shel a bash
    Přečteno: 864×
    Ahoj, může mi někdo poradit jaký je rozdíl mezi programováním v shelu a v bashi? Hledám nějake informace v češtině pro začátečníky ale nic moc jsem nenašla. Děkuji M.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Vladimír Čunát)
    26.10.2017 15:09 NN
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Shell = prikazovy interpret, konzole. Bash - Bourne Again Shell, je jeden z mnoha "shellu", jako napriklad sh,zsh,ksh..
    26.10.2017 21:27 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash

    konzole != shell

    Josef Kufner avatar 27.10.2017 23:13 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Jen pro doplnění: Shelly (včetně Bashe) jsou orientovány hlavně na interaktivní použití z příkazové řádky. Na programování se moc nehodí. Něco menšího se dá, ale cokoliv většího je utrpení.

    Pokud s programováním začínáš, sáhni radši po Pythonu a k Bashi se vrať potom. Pokud máš dobrý důvod i přes to se pustit do bashe, tak viz https://www.root.cz/clanky/programovani-v-bash-shellu/.
    Hello world ! Segmentation fault (core dumped)
    k3dAR avatar 28.10.2017 02:55 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    pokud jde o "programovani" ve stylu zautomatizovani, nebo vyuziti GNU a jinych dostupnych nastroju, je BASH naprosto v pohode i pro vetsi "projekty" ;)
    porad nemam telo, ale uz mam hlavu... nobody
    Řešení 1× (Vladimír Čunát)
    26.10.2017 15:09 štefan
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Ahoj, shell je obecný název pro program umožňující zadávat příkazy interaktivně nebo v dávkách (souborrech), kdežto bash je konkrétní implementace tohoto principu.

    Rozdíli můžou být:
    • žádné
    • obrovské
    • něco mezi tím
    U mnoha linuxů je shell synonymem (zkratkou) pro právě bash.

    Jako orientační základ dobře poslouží tento článek na rootu: https://www.root.cz/clanky/programovani-v-bash-shellu/

    Jinak manuálové stránky bash (angličtina): https://www.gnu.org/software/bash/manual/bashref.html

    Při nainstalovaném linuxu je k dispozici příkaz
    man bash
    , který v závislosti na instalaci a distribuci by případně mohl býti i v češtině.
    26.10.2017 21:26 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash

    Bash je jednou z mnoha implementací shellu definovaného standardem, která ale přidává obrovskou spoustu funkcí navíc. Rozdíl je tedy ten, že v Bashi se dá spousta věcí napsat úsporněji a jednodušeji než ve standardním shellu. Pravděpodobně nejblíž implementaci původního standardu je Dash.

    Ještě před několika lety se mělo všeobecně za to, že skripty v distribucích by se měly omezovat pouze na standardizovaný shell bez rozšíření typu Bash, aby příznivci a odpůrci Bashe mohli mírumilovně koexistovat. Poslední dobou se ale takové orthodoxní postoje příliš nevidí a spousta skriptů přímo závisí na Bashi.

    Bash má například pole, která výrazně usnadňují některé situace, a k tomu obrovskou spoustu expanzí proměnných, které standardní shell nepodporuje:

    soubory=('první' 'druhý' 'třetí')              
    echo "${soubory[@]/%/.přípona}"
    

    Dash něco podobného dokáže (zdánlivě) taky, ale problém nastane, pokud například některé jméno souboru bude obsahovat mezeru. Bez mezer (a s totožným výstupem) to půjde třeba takto.

    soubory='první druhý třetí'
    echo $(for soubor in $soubory; do echo "${soubor}.přípona"; done;)
    

    Další zajímavost Bashe je (kromě polí) taky aritmetika a datové typy. Proměnné deklarované jako integer podporují jednoduché přiřazení a použití ve výrazech. Bohužel Bash podporuje jen bezznaménková celá čísla, ale něco se v něm tu a tam spočítat dá. To následující je funkce, která vyhodnocuje polynomy:

    # Příklad: 4x^2 + 2x + 3 [x = 7]: polynomial 4 2 3 7
    polynomial() {
      local -ar args=("$@")
      local -air coefficients=("${args[@]:0:${#args[@]} - 1}")
      local -ir variable="${args[-1]}"
      local -i value=0
      local -i power=1
      for ((index = 1; index <= ${#coefficients[@]}; ++index)); do
        value+='power * coefficients[-index]'
        ((power *= variable))
      done
      echo "$value"
    }
    

    A tady je 53 + 2×52 + 3×5 + 4:

    $ polynomial 1 2 3 4 5
    194
    

    Tohle^^^ by Dash dokázal jistě taky, v potu tváře a za použití expr, ale asi bych to v něm nechtěl kódit. Bash je tedy trochu univerzálnější než standardní shell; dokáže zastat několik málo běžných funkcí, kvůli kterým by bylo jinak potřebné sáhnout k perlu, sedu nebo awk.

    27.10.2017 14:35 jiwopene@gmail.com
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Mám pár poznámek:

    Shell není až tak často používaný jako programovací jazyk nebo se udělá nějaký "program" (napíše příkaz), který je použit jednou, neukládá se a jde nám pouze o výsledek (vyhledání souboru, ...).

    Jestli jste začátečník, doporučuji si pročíst Linux v Příkazech (doufám, že to smím napsat. ;-) ).

    Program v bashi může být docela krátký, ale přitom složitý. Velkou výhodou jsou roury:
    nmap -n -iR 100 -T5 -p 80 -oG -|grep open|tr -d 'Host:( '|cut -d ')' -f 1
    Data z nmap se neobjeví na obrazovce, ale půjdou na vstup programu grep, pak tr a výstupem bude výstup cut.

    Téměř pokaždé, když někdo píše shell, myslí bash či něco kompatibilního.
    27.10.2017 16:29 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Sice binárních programu v /usr/bin je více, ale přesto ze systému mi v něm sídle skoro skriptů pro bash.
    27.10.2017 22:10 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Nejen roury, ale i víceprocesové zpracování dat se v shellu dělá velmi snadno a jede to i svižně. Pokud se však někdo pokouší v shellu programovat podobně jako třeba v C, obvykle spláče nad výkonem. Pole by se v shellu vůbec nemělo používat, jsou s ním jen patálie.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    27.10.2017 16:49 Kit
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Velmi často se stává, že někdo do skriptu napíše příkazy pro Bash, do záhlaví uvede #!/bin/sh a pak se diví, že mu to nefunguje.
    27.10.2017 17:53 jiwopene | skóre: 31 | blog: Od každého trochu…
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Nebo má symlink /bin/sh na /bin/bash a pošle to někomu, kdo v /bin/sh má něco jiného než bash.
    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
    27.10.2017 18:56 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    To je ešte relatívne v poriadku. Horšie je keď niekto do tvojho skriptu pre posixový shell "dorobí" kusy kódu v bash-i a keď sa vrátiš z dovolenky tak ideš na koberček ty namiesto neho. Samozrejme že o tej zmene nevieš, len to proste prestalo fungovať.
    27.10.2017 21:59 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    To je přece snadno dohledatelné v repozitáři, kdo kdy kterou změnu udělal.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.10.2017 08:49 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Už vidím nikoho čo používa repozitár na lokálne záležitosti čo automatizujú drobnú rutinu. Problém je v tom, že vedúceho obvykle nezaujíma kto to bol. Vedúceho obvykle zaujíma že to nefungovalo, on sa rozčuľoval, musel nahučať na autora nech to dá do poriadku a začalo to fungovať. Dôvod, prečo to prestalo fungovať žiadneho vedúceho nezaujíma.
    28.10.2017 12:18 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    U nás je to standard. Na produkci nesmí být nic, co by současně nebylo v repozitáři. Když něco nefunguje, tak revert je první akcí, která se provádí.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    27.10.2017 22:02 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Když uděláš symlink /bin/sh na /bin/bash, mělo by se to chovat jako posixový shell. Bash totiž kontroluje, pod jakým jménem byl spuštěn a podle toho mění své chování.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.10.2017 08:58 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Rozdíl mezi shel a bash
    Nie vždy to sedí tak ako by malo. Ale to je nad rámec otázky.

    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.