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
18
315
Vastaukset
- 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 -> bashUbuntussa 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
Kuolemanrangaistus
Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen1066444Muistakaa persut, että TE petitte, ei kokoomus
Miksikö kukaan ei arvostele kokoomusta? No sen vuoksi, että kokoomus noudattaa vaalilupauksiaan. Sen sijaan TE persut,3595841Miksi persut eivät häädä mamuja pois Suomesta?
Sitä vartenhan persut äänestettiin valtaan. Nyt valta on persuilla. Mamut nostaa työttömyyskorvauksia. Persut huutaa mam143797Riikka Purra ei estä tehomaksun käyttöönottoa
Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk703567Lopetan ikävöinnin
Ei meistä enää koskaan tule mitään. Olen ikävöinyt ja kaivannut enkä saa mitään vastakaikua ja lämpöä. Parempi erillään123545Outo ilmiö - vasemmistolaiset eivät kirjoita mitään kokoomuksesta
joka sentään johtaa hallitusta, ja jonka talouspolitiikkaa noudatetaan. Nämä muutamat vasemmistolaiset jotka täällä aina1072805Sinä olet minun forEver
Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,211880Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?
Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t191801Väestöstä vain vassarit vaihtuvat nopeammin kuin persut
Kevääseen 2023 verrattuna vassareita 50 prosenttia enemmän, ja persuja 25 prosenttia vähemmän.181634Mies joka vetäytyy osoittaa teoillaan
Ettei halua olla tekemisissä. Mies joka ei vastaa viesteihin, ei halua sua. Mies joka jättää sut epätietoisuuteen, ei1921287