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í
×
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

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

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 10
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 29
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 161 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Dotaz: Rozdíl mezi shel a bash

    26.10.2017 14:58 Martina
    Rozdíl mezi shel a bash
    Přečteno: 869×
    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: 65 | 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: 65 | 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: 65 | 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.