Sh vs. ash vs. bash

Anonyymi

Miksiköhän noita shellejä on useampaa sorttia? Tänään meni vähän aikaa painiessa tyhmän ongelman parissa, jonka syyksi selvisi ettei sh tukenut skriptissä ollutta bash komennon toimintoa. Yleensähän skrpitit ajetaan sh-komennolla, jos x-lippua ei jaksa nostaa ylös. Tuo piti sitten ajaa bash-komennolla.

18

426

    Vastaukset 18

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Linuks on kovin vaikeaselkoinen.

      • Anonyymi

        Osaamattomalle kaikki on vaikeaa.


      • Anonyymi

        Sulle kaikki on vaikeaselkoista! Muille linuxit on helppokäyttöisiä.


    • Anonyymi

      Ja kyse oli read-komennon s-toiminnosta, joka ei tulosta merkkejä niitä kirjoittaessa.

      read -sp "Syötä salasana: " salasana

      Tuo ei toimi siis sh:ssa.

    • Anonyymi

      Historialliset syyt. Itse altistuin jo 80 - luvulla csh ja tcsh shellillä toimiville koneille ja totuin niihin. Tämä siis oli unix ja bsd aikaa ennen linuxin tuloa.

      https://en.wikipedia.org/wiki/Unix_shell

      Kaikesta huolimatta sh on säilynyt skriptien oletusshellinä. Se on tavallaan pienin yhteinen tekijä jota on ollut syytä käyttää kun halutaan varmistaa että skriptin toimivuus ei riipu kyseisen koneen jostakin erityspiirteestä.

      • Anonyymi

        No johan on shellejä! Olen vähän kuutamolla näistä Linux-jutuista, mutta vähitellen sitä oppii epäonnistumisten kauttakin.


      • Anonyymi
        Anonyymi kirjoitti:

        No johan on shellejä! Olen vähän kuutamolla näistä Linux-jutuista, mutta vähitellen sitä oppii epäonnistumisten kauttakin.

        Ainakin joissakin jakeluissa /usr/bin/sh on linkki bash:iin.
        /usr/bin/sh -> bash


      • Anonyymi
        Anonyymi kirjoitti:

        Ainakin joissakin jakeluissa /usr/bin/sh on linkki bash:iin.
        /usr/bin/sh -> bash

        Ubuntussa versiosta 6.10 lähtien on /bin/sh ollut symlinkattu dashiin. Useimmissa muissa jakeluissa /bin/sh on symlinkattu bashiin. Kannattaa huomata että dash on paljon suppeampi kuin bash.


      • Anonyymi
        Anonyymi kirjoitti:

        Ubuntussa versiosta 6.10 lähtien on /bin/sh ollut symlinkattu dashiin. Useimmissa muissa jakeluissa /bin/sh on symlinkattu bashiin. Kannattaa huomata että dash on paljon suppeampi kuin bash.

        Näin ne Ubuntun heikkoudet paljastuu.


      • Anonyymi
        Anonyymi kirjoitti:

        Näin ne Ubuntun heikkoudet paljastuu.

        Mitkä ihmeen heikkoudet? Windowsissahan niitä heikkouksia on eikä Ubuntussa!


    • Koska se SH on se standardi.

      Sitten ihmiset haluavat lisäominaisuuksia ja niitä varten on sitten shellejä missä on ne lisäominaisuudet. Ne vaan ei toimi joka paikassa.

      • Anonyymi

        Mistään mitään ymmärtämätön, sekoittaa taas asioita, tyhmyyttään, kuten tavallista.


    • Anonyymi

      Väärin kirjoitettu skripti. Sen alussa olisi pitänyt olla ensimmäinen rivi

      #!/bin/bash

      • Anonyymi

        Ei tuo auta mitään jos ajaa sh:llä. Skripiti pitää ajaa bashilla, tai sitten nostaa lippu x.


      • Anonyymi

        ("Väärin kirjoitettu skripti.")

        KYLLÄ, näin on. Käsittelyohje ytimelle täytyy olla aina, itse tulkki, ei käsittele rivejä jotka alkaa ( #! ). Ja erittäin tärkeäksi se muodostuu kun skriptille annetaan suoritusoikeudet (x).


    • Anonyymi

      Melkoisia sellistejä olette. Kyseessä on siis komentotulkki eikä vankilakoppi tai soitin.

      • Anonyymi

        Selli != shell.


    • Anonyymi

      Linux on erittäin joustava noiden shell:ien kanssa. Useassa skriptauskielessä on itse asiassa helppo toteuttaa toiminnallisuus, jolla mahdollistetaan kielen ajaminen komentoriviltä "käyttöliittymänä" koneelle. Alunperin se on kai mennyt niin, että terminaali-emulaation päällä on haluttu ajaa jotain vähän helpompikäyttöistä. Terminaali taas on konsolilla ajettava ohjelma, jolla ollaan yhteydessä mainframe:een eli keskustietokoneeseen. Eli yhdellä koneella voinut olla useampi sata käyttäjää yhtäaikaa, esim. telnetin tai myöhemmin ssh:n avulla.
      Seuraavat ainakin tiedän, mitä ei vielä ole mainittu: tclsh, dash, fish. Se, mikä tulee loginissa käyttöön, asetetaan ympäristömuuttujan esim. SHELL="/bin/bash" avulla. Sitten on muuttuja "SHLVL=1", joka kertoo, että kyseessä on login shell. Jos tuo arvo on suurempi kuin yksi, on kyseessä shellistä käynnistetty shelli, eli joku toinen skripti vaikkapa.

    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mikä on totta mikä ei?

      Onko juoru vai ei että nimeltä mainitsematon henkilö on tehnyt naiselle/naisille jotain joka on väärin?
      Kuhmo
      25
      1798
    2. Lopetetaanko tämä

      Juttu ja mennään eteenpäin? Pystytkö?
      Ikävä
      125
      811
    3. Just saying

      Mies joka antaa naiselle turvallisen olon, on seksikäs. Ei kieroja kikkoja ja haluaa olla vain sen yhden naisen mies.
      Ikävä
      114
      603
    4. Voisin antaa sulle nyt

      Halin❤️
      Ikävä
      53
      565
    5. Löytyikö syy miksi Martina on Muhiksen kanssa

      Saipa naurut Gekkosen kuvasta, missä ovat ravintola Hookissa Immu fight night ottelun jälkeen, Muhoksella pullottaa hirv
      Kotimaiset julkkisjuorut
      89
      531
    6. Tosi kiva on

      Joo. Mitä olisit menettänyt jos olisit paljastanut itsesi?
      Ikävä
      65
      521
    7. Jos selviäisi että kaivattusi

      Olisi savant asperger? Rakastaisitko vielä? Savant-lahjakkuus olisi kapea-alaista neroutta liittyen mekanisiin ja tilan
      Ikävä
      85
      515
    8. Tehdään yhdessä itsestämme

      Parhaat versiot❤️ Se vaatii molemmilta hyvää itsetuntoa!
      Ikävä
      40
      500
    9. Päivän aivopieru Trumpilta

      Trump julisti sodan hyttysiä vastaan. Myös punkit ovat Trumpin sodan kohteena. Eikö vieläkään USA:n kansa tajua tuon uko
      Maailman menoa
      59
      485
    10. Oliko Jani Halmeen aika jo tippua TTK:sta?

      Jani Halme ja Claudia Ketonen joutuivat jättämään TTK:n. Halme ja Ketonen saivat viimeiseksi jäänestä tanssista, sambas
      Tanssii tähtien kanssa
      26
      474
    11. Jokin ei täsmää

      Joskus yksi vuosiluku saa katsomaan koko tarinaa uudestaan. Löysin gradun. Matematiikka ei oikein täsmää siihen, mitä mi
      Ikävä
      267
      460
    12. Toivotko vielä viestiä

      Minulta? En rohkene enää ottaa yhteyttä, kun varmasti jo uusia naisia elämässä. Nolaisin vain itseni.
      Ikävä
      34
      443
    13. Janpen Thai lopettanut, miksiköhän

      Hyvää apetta teki.
      Suomussalmi
      8
      436
    14. Vaikea on tämän

      Jälkeen suhtautua sinuun ilman ettei muista kirjoituksiasi.
      Ikävä
      58
      412
    15. Miksi jotku naiset on niin tyhmiä

      Että elättelevät turhaa toivoa toisen kustannuksella. Onko ne kaikki kaappilesboja vai mikä niitä vaivaa? Sitten itketä
      Ikävä
      50
      405
    16. Kuka kaipaa T m?

      Kerro nainen kirjaimesi vaan... Haluan miettiä kuka tulee ekana mieleeni.. kuin kurkistus tunteiden meren pinnalle, jota
      Ikävä
      30
      402
    17. Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?

      Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle v
      Tanssii tähtien kanssa
      9
      389
    18. Jätä jo se puolisosi, mun kanssa kilpa-asetelma on tuhoisa.

      Eikä hän tule sitä voittamaan. Myöskään missään vanhassa ei kannata roikkua, koska ei uskalla kohdata muutosta, hyvät as
      Ikävä
      27
      386
    19. Pystyttäiskö me vakaaseen

      Suhteeseen? Ettei se käy molemmille liian kuormittavaksi ja plussia on vähemmän kuin miinuksia.
      Ikävä
      36
      375
    20. Kerro muuten miksi

      Estit somessa?
      Ikävä
      38
      375
    Aihe