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.
Sh vs. ash vs. bash
Anonyymi
18426
0Äänestä
Muut lukivat myös
Ketjusta on poistettu 2 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- Älä unohda minuaNainen ethän unohda minua. Asiat olisivat voineet mennä toisin, olisi vain pitänyt uskaltaa lähestyä sinua kun annoit siihen mahdollisuuden. Olen pettynyt itseeni, ja se kyllä närästää. Naiselle Mieheltä
- Eläkeikä nousee 70 vuoteen. Joudunko palaamaan työelämään?Nyt se on sitten päätetty, että eläkeikä Suomessa nostetaan 70 vuoteen. https://www.is.fi/politiikka/art-2000012324133.html Pääsin 67 vuotiaana eläkkeelle viime syksynä. Tarkoittaakohan tämä, että joudun palaamaan takai…
- Pitäisikö Vantaa liittää Helsinkiin.Mitä mieltä olette asiasta?
- Moi kulta😍Eikös se ollut marraskuuta kun se meidän "flirttailu" alkoi silloin vuosia sitten? tarkoitan lähinnä niitä pitkiä katseita 🤩☺️ Kohta on siis maata mullistavien katseiden vuosipäivä 😘🤭
- Perussuomalaiset nostamassa eläkeiän 70 vuoteenRiikka Purran johtama valtiovarainministeriö haluaa nostaa eläkeiän 70 vuoteen ja taloutta sopeutettaisiin ensi vaalikaudella 8–11 miljardilla eurolla. Perussuomalaisten johtama ministeriö ilmeisesti arvelee, että seits…
- Nyt on nytTurha miettiä menneitä tapahtumia. Niitä ei saa tekemättömäksi. Tärkeintä on mitä tekee nyt ja tulevaisuudessa. Korjausliikkeetkin voi tehdä jos niihin tuntee tarvetta. Paluu tulevaisuuteenkin voi olla mahdollinen jos v…
- Kadutko mies?Silloin kuin vielä yritin lähestyä, etkä tarttunut siihen. Asioista pitäisi voida aina keskustella.
- Onko tällainen kuvio teistä okOnko tällainen kuvio teidän mielestänne ihan normaali ja hyväksyttävä? Nainen seurustelee miehen kanssa, mutta pitää samaan aikaan läheistä yhteyttä toiseen mieheen kertomatta tälle toiselle, että on parisuhteessa. Tämä…
- Niin haluaisin sut nähdä ja jutella!🙂
- Hyvää huomentaEräälle Naiselle ❤️🩹
- Tunnut niinKaukaiselta jo.
- Empaattiset ihmisetOnko empaattiset ihmiset, etenkin naiset antavaisempia, kun ns. tavikset? Kaverin puolesta kysyn Oisko niinku mahkui?
- Pussaisitko mihinKohtaan?
- Nyt kun kaikki on ohiToivon, että sulla menee hyvin ja pystyisin sinut kokonaan unohtamaan. Joskus on vaikeita hetkiä ja olen tosi pahoillani, miten sinua loukkasin ja loukkaan yhä. Se täytyy saada loppumaan.
- TTK-juontaja Veronica Verho lataa suorat sanat tatuointien arvostelijoille: "Mä toivoisin, että..."Veronica Verho juontaa Tanssii Tähtien Kanssa -ohjelmaa yhdessä Ernest Lawsonin kanssa. Yksi puhuttaneimmista aiheista on ollut, miten suosikkijuontajan näyttävät tatuoinnit sopivat ohjelman pukuohjeistukseen ja tullaa…
- Et nosta minua ylösOk ei se mitään. Vajoan syvempiin vesiin💔
- Tuntuu kuin olisin vaimosiSe on erikoista se.
- Jos haluat viestin...Olen vielä tämän illan palstalla. Laita halutessasi vinkki, sinä komea keski-ikäinen mies 😗
- Haluatko ettäUnohdetaan toisemme?
- Anonyymipalstan ongelmaJoskus tämä palsta on kyllä melkoinen ihmiskoe. Yksi ihminen yrittää saada yhteyttä yhteen tiettyyn henkilöön ja antaa tunnisteitakin, mutta hetken päästä ketjussa on jo puoli Suomea vastaamassa kuin viesti olisi tarkoi…
Vastaukset 18
Vanhimmat
Linuks on kovin vaikeaselkoinen.
Osaamattomalle kaikki on vaikeaa.
Sulle kaikki on vaikeaselkoista! Muille linuxit on helppokäyttöisiä.
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.
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ä.
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
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.
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.
Mistään mitään ymmärtämätön, sekoittaa taas asioita, tyhmyyttään, kuten tavallista.
Väärin kirjoitettu skripti. Sen alussa olisi pitänyt olla ensimmäinen rivi
#!/bin/bash
Ei tuo auta mitään jos ajaa sh:llä. Skripiti pitää ajaa bashilla, tai sitten nostaa lippu x.
("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).
Melkoisia sellistejä olette. Kyseessä on siis komentotulkki eikä vankilakoppi tai soitin.
Selli != shell.
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.