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
- Kyllä mulla oli tunteita sua kohtaan,mutta voit syyttää ainoastaan itseäsi, että en tehnyt mitään asian eteen. Se on ihan turhaa sinun miettiä, että miksi.
- Millaisen suhteenOlisit halunnut kaivattusi kanssa
- Tikusta asiaaMistä ihmeestä minä keksin sulle edes jotensakin järkevää asiaa parn lauseen verran... anna joku idea että kehtaan lähestyä. -töistä tuttu mies
- Moikka!!!!!!!!!Miten sun päivä on mennyt? Mä olen miettinyt sua paljon❤️
- Suomi24:n uudistuksia 2026Tervehdys ja hyvää syksyä keskustelijat! 🍂 Suomi24:ää on uudistettu vaiheittain viime kuukausien aikana. Sivuston ulkoasua on selkeytetty ja yhdenmukaistettu. Samalla on tehty kaivattuja korjauksia erityisesti rekister…
- Muutoksen tuuletKoetko, että sinun olisi pitänyt/pitäisi muuttaa itseäsi/elämäntyyliäsi jotenkin, "kelvataksesi" kaivatullesi? Koetko itse, että haluaisit olla "parempi" ihminen kaivattuasi varten? Oletko mahdollisesti muuttunut/muutta…
- Nico Lingman on nousemassa suomalaisjulkkisten kaartiinNico Lingman, 34, on podcastaaja, somevaikuttaja ja entinen Puolustusvoimien upseeri. Lingman on astunut isojen suomalaisten julkkisten joukkoon, sillä hän on mukana uudella Tanssii Tähtien Kanssa -kaudella. Sekä tänään…
- 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…
- Halisin ja pusisinSinut puhki mies. Kaikki tiedostamattomat surut, vihat ja katkeruudet halisin pois. 🫂
- Do diih.. palsta saanut roimasti uudistuksia .. mielipiteitä..?Eilen näin väläyksen tästä uudesta ulkoasusta ja nyt kummastelenkin toimintaa. Jotakin hyvää ja jotakin huonoa. Pistäkää tähän huomioita uudistuksesta. Sen huomasin että aloituksen otsikon kirjainmäärä on kasvanut huoma…
- Mies, sulla on paljon ihailijoitaTuntuu, että täälläkin iso liuta sinua kaipaamassa.
- vilkaisin kuhmolaisen etusivuaKuhmoon on saatu taas katu päällystetyksi,mutta sitä ei saa ajaa? onko senkin kadunvarressa joku isopalkkainen joka saa oman rauhoitetun kadun,laittakaa ihmeessä ne puomit kumpaankin päähän niin katu kestää kauan,oisiha…
- Vasemmistoliiton kannatus kertoo kuinka osa naisista on tyhmiäeli heikkoälyisiä. Vasliittohan on nykyään naisten puolue, suurin osa kannattajista on naisia. Vuoden 2023 eduskuntavaalien tuloksena naisten osuus oli kaikista puolueista suhteellisesti korkein juuri Vasemmistoliitolla…
- Onki meilläMies kaikki hyvin?
- Kaipaisin sinua lähelleni nyt niin paljonEnemmän kuin koskaan. 😞
- Hyvää yötä MIkävä on vaikkei kai saisi olla😔❤️ -joku-
- Otatko yhteyttäKaivattuusi tänä vuonna?
- Persut nousi kakkospaikalle ohi kokoomuksen - SDP alle 23%Näin tosiaan näyttää, että persujen kannatus nousee hitaasti kohti vaaleja. Se on toki ollut heille tavallista aiemminkin.
- Nainen tiedätkö miksi estin sinutKyse ei ole inhosta tai mistään sellaisesta
- Välillä ahdistaa todella paljonVälillä ahdistaa todella paljon . En pysty missään käymään ja ahdistaa nähdä ihmisiä
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.