bash ja komentojen suorittaminen yhdellä rivillä

Ehkä tämä on helpointa selvittää esimerkillä.
$ echo 1; echo 2; echo 3
tulostaa numerot 1, 2 ja 3
Nyt jos keskimmäinen komento pitäisi jostain syystä kommentoida pois, risuaita-merkki ei oikein käy, koska komento jatkuu vielä. Sen sijaan voi tehdä näin:
$ echo 1;: echo 2; echo 3
Nyt suoritetaan vain ensimmäinen ja viimeinen komento eli tulostuu 1 ja 3. Huomaa välit!
22247
Äänestä

Muut lukivat myös

Vastaukset 22

Vanhimmat

Tuossa pitää huomioida että ensimmäinen komento voi sisältää myös komennot 2 ja kolme sekä komennot 30002 sekä komennon 1000000hhhhjnngfdsddsvvvcvvvbvbnbnbbnbvbnbn eli ei pidä komennella jos ei tiedä seuraamuksia....

Äänestä
  • 🍑🍑🍑🍑🍑🍑🍑🍑🍑🍑🍑🍑

    🔞 ­­­N­­y­m­f­o­­­m­a­­a­n­­i -> https://ye.pe/finngirl21#17719092F

    🔞💋❤️💋❤️💋🔞💋❤️💋❤️💋🔞

    Äänestä

Terävä huomio, olet onnistunut hämmästyttämään minut, yritä uudestaan jollakin yhtä nokkelalla vinkillä.

Äänestä

Tehdään pieni skripti(verbose.sh)
#! /usr/bin/bash -x
dbug="$1 echo"
$dbug tulostetaan debug

Tällaista ei tavanomaisella kommentti '#' merkillä pysty toteuttamaan. Tuo '-x' ensimmäisellä rivillä näyttää, mitä skripti tekee. Kokeile antaa parametriksi kaksoispiste, niin huomaat miten tämä toimii.

Äänestä

  • Terävä huomio, olet onnistunut hämmästyttämään minut, olen sanaton.

    Äänestä

Komentorivi on niin 1970-lukua. Linulks onkin vanhentunutta skeidaa..

Äänestä
  • Linuks joutaa museoon..

    Lähde mun mukaan
    Mä vien sut nyt museoon
    Tahdon siellä näyttää sulle entisajan tietokoneenkäyttöä!

    Se on nostalgista!
    Se on mennyttä aikaa!
    Tahtoisin että muutkin sen ymmärtäisi!

    Tervetuloa, ovet on avoinna
    Linuks-ohjelmamuseoon!
    On lupa katsella, on lupa muistella!
    Mutta ei kannata ottaa linuksia käyttöön, se kuuluu museoon!

    Vanhoja ohjelmia, epäkäytännöllisineen toimintoineen ja
    muinaisjäänteitä, tuoksuja kaukaa
    Vuosien takaa!

    Tunnetko vielä sen
    nostalgisen hengityksen kiihtyneen
    Ja rinnan alla ärtymyksen, koska hankala käyttää!

    Äänestä

On täällä edes yksi minun lisäksi joka on ottanut tietokoneensa haltuunsa. Bash komentotulkki tarjoaa erinomaiset työkalut järjestelmän ylläpitoon.

Äänestä

Onko avauksen tehnyt kiinnittänyt huomiota Linux järjestelmän kyvyttömyyteen pysyä puhtaana. Vain parhaimmat kykenevät asian tiimoilta rakentamaan jotain jolla voidaan luotettavasti valvoa, olemassa olevien tiedostojen, kansioiden ja asennettujen pakettien määrää.

Olen erittäin kiinnostunut kuinka sinä olet ratkaissut tämän ongelman.

Äänestä
  • Lisätäänpä vielä, etten itsekkään ole saanut asiaa sellaiseen kuntoon kuin olisin halunnut.

    Järjestelmäni luo jokaisessa käynnistyksessä tietokantaa viivadiagrammia varten, joka kyllä on siltä osin ihan OK, kuten myös yksittäisen ohjelmapaketin asentamisesta ja sen testaamisesta syntyneiden muutosten seuraaminen onnistuu hyvin, mutta palauttaminen tilaan joka oli ennen kokeilua kestää liian kauan kun tiedostolistauksessa on palautettavia kohteita yli 4000.

    Lisäksi onnistunut palautus vaatii ettei uusia asennuksia tai päivityksiä suoriteta ennen kuin on tehty päätös hyväksyä järjestelmään tapahtuneet muutokset tai on päätetty peruuttaa ne.

    Äänestä

Mitä työkaluja avauksen tehneellä on itse tehtynä, itselläni on Bash Shell Editori.

Tämän editorin hienous on esimerkit avainsanan napsautuksella. Eli kun tulee tilanne, ettet muista miten for silmukkaa sovellettiin, tupla-klikkaa sanaa for, muokkauksen kohteena olevassa tiedostossa ja editorin tila puolittuu ja käyttöesimerkit paljastuu viereen, samaan tapaan kuin LibreOffice toimisto-ohjelmistossa.

Äänestä
  • Lähinnä erilaisia valvonta ja ylläpitotyökaluja - enemmänkin tulee konfiguroitua serveri-ohjelmistoja ja leikittyä niillä. Bash on lähinnä työkalu muiden joukossa mutta välillä tulee tarve tehdä sillä jotain, mihin normaalisti käyttäisi jotain hiukan fiksumpaa kieltä: Yleisin valinta taitaa olla Tcl, mutta se johtuu siitä että sillä on tullut tehtyä paljon joskus aikaisemmin.
    Eräs skriptikokonaisuus mikä on osoittautunut hyödylliseksi on jos haluaa antaa komennon toisella koneella, esim. jos kone on läppäri, ie. läppi(=lappi), normaalisti antaa komennon top, niin voi laittaa 'lappi top'.
    Tuo on toteutettu aliaksena:
    alias lappi='ssh -Y -l username lappi'
    Vaihtoehto on käyttää fleet-komentoa, esim. 'fleet 1 shutdown -h now', ajaa komennon fleet1.txt tiedostosta löytyville koneille. Yleensä tätä käytetään apt update, yms. kanssa, jolloin kerralla saa päivitettyä koko luokan koneet. Käyttö tapahtuu xmessage:n avulla:
    skript.sh:
    xmessage -button b1,b2,b3 "command list" -center -timeout 100
    BUTTON=$?

    if (( "$BUTTON" == "101" ));
    then
    xeyes;
    fi;
    if BUTTON = 102.. jne..

    Pystyy yhdellä napin painalluksella tekemään esim. tarkistuksia, onko kaikilla koneilla jokin tietty ohjelma käynnissä/asennettuna. Yksinkertainen toteutus, mutta yleensä toimivat ratkaisut on.

    Äänestä

Ubuntun saa päivittymään yhdellä lausahduksella kirjoittamalla:

sudo apt update && sudo apt upgrade -y

Äänestä
  • Niin on, soveltuu parhaitten juuri Ubuntun ja Debianin ajan tasalle saattamiseen, muiden on syytä vielä kertaalleen harkita ohjeen soveltamista, vaikka se vaikuttaisi ensialkuun toimivakin.

    Äänestä

  • Anonyymi00013 kirjoitti:

    Niin on, soveltuu parhaitten juuri Ubuntun ja Debianin ajan tasalle saattamiseen, muiden on syytä vielä kertaalleen harkita ohjeen soveltamista, vaikka se vaikuttaisi ensialkuun toimivakin.

    Olen apt-markilla laittanut holdiin:

    linux-generic
    linux-headers-generic
    linux-image-generic

    Noin tekemällä kerneli ei päivity aiemmin mainitulla lausahduksella.

    Äänestä

  • Anonyymi00014 kirjoitti:

    Olen apt-markilla laittanut holdiin:

    linux-generic
    linux-headers-generic
    linux-image-generic

    Noin tekemällä kerneli ei päivity aiemmin mainitulla lausahduksella.

    Olet Ubuntun käyttäjäksi harvinaisen viisas, epäilekin ettet olekaan missään tekemisissä Ubuntun, Debianin etkä Windowsin kanssa.

    Äänestä

  • Anonyymi00015 kirjoitti:

    Olet Ubuntun käyttäjäksi harvinaisen viisas, epäilekin ettet olekaan missään tekemisissä Ubuntun, Debianin etkä Windowsin kanssa.

    Olen pelkkä tavallinen näppiksen kuluttaja. Noin 3 näppistä menee vuodessa.

    Äänestä

  • Anonyymi00016 kirjoitti:

    Olen pelkkä tavallinen näppiksen kuluttaja. Noin 3 näppistä menee vuodessa.

    Ei täällä ole tavallista osata lukea ja kirjoittaa, eli olet keskivertoa älykkäämpi "näppiksen" kuluttaja.

    Äänestä

  • Anonyymi00017 kirjoitti:

    Ei täällä ole tavallista osata lukea ja kirjoittaa, eli olet keskivertoa älykkäämpi "näppiksen" kuluttaja.

    Sain armeijan pällitestissä kelpo tuloksen, mutta en ole loppuelämässä ratsastanut silllä.

    Mielenkiintoni on logiikka. Samoilla lähtöarvoilla saadaan aina sama lopputulos.

    Se on myös heikkouteni. Joskus olen äkkijyrkkä.

    Äänestä

  • Anonyymi00018 kirjoitti:

    Sain armeijan pällitestissä kelpo tuloksen, mutta en ole loppuelämässä ratsastanut silllä.

    Mielenkiintoni on logiikka. Samoilla lähtöarvoilla saadaan aina sama lopputulos.

    Se on myös heikkouteni. Joskus olen äkkijyrkkä.

    Omalta osaltani voin sanoa ettei ole säilynyt minkäänlaista mielikuvaa soveltuvuusarviointeihin osallistumisesta, mutta kerro ihmeessä tarkemmin tuosta, liittyikö soveltuvuuskokeesi mahdolliseen johtajakoulutukseen.

    Äänestä

  • Anonyymi00018 kirjoitti:

    Sain armeijan pällitestissä kelpo tuloksen, mutta en ole loppuelämässä ratsastanut silllä.

    Mielenkiintoni on logiikka. Samoilla lähtöarvoilla saadaan aina sama lopputulos.

    Se on myös heikkouteni. Joskus olen äkkijyrkkä.

    "Samoilla lähtöarvoilla saadaan aina sama lopputulos."

    Ehkä olet nyt liikaa yksinkertaistanut asioita. Lopputulos on erittäin tiiviisti sidoksissa läpikäytyihin prosesseihin.

    Äänestä

Kommentoi aloitusta


Anonyymi-ap kirjoitti:

Ehkä tämä on helpointa selvittää esimerkillä.
$ echo 1; echo 2; echo 3
tulostaa numerot 1, 2 ja 3
Nyt jos keskimmäinen komento pitäisi jostain syystä kommentoida pois, risuaita-merkki ei oikein käy, koska komento jatkuu vielä. Sen sijaan voi tehdä näin:
$ echo 1;: echo 2; echo 3
Nyt suoritetaan vain ensimmäinen ja viimeinen komento eli tulostuu 1 ja 3. Huomaa välit!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu