Onko tiedosto olemassa

Anonyymi

Mikä tässä alla olevassa aiheuttaa virheen:

#!/usr/bin/env bash
on () { echo "Tiedosto on olemassa." }
ei () { echo "Tiedostoa ei ole olemassa." }
[ -f testi.txt ] && on || ei

3

311

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      "#!/usr/bin/env bash"

      Ei tuolla tavalla, vaan ensimmäiselle riville laitetaan polku bashiin. Yleensä se on /bin/bash, esim:

      #!/bin/bash
      [ -f $1 ] && echo "'$1' on olemassa." || echo "'$1' ei ole olemassa."

      ---
      Tallennetaan tuo vaikka nimellä test.sh ja tehdään siitä ajettava komennolla chmod x ./test.sh

      $ ./test.sh test.sh
      'test.sh' on olemassa.
      $ ./test.sh test.bash
      'test.bash' ei ole olemassa.

      • Anonyymi

        Absoluuttinen komentotulkin polku voi osoittaa väärään paikkaan, mutta ympäristömuuttujan env käyttäminen osoittaa lähes 100 varmasti missä komentotulkki on.

        Bach, python ja perl -skriptin siirrettävyys on maksimissaan kun käytetään ympäristömuuttujaa kertomaan tulkin sijainti.


    • Anonyymi

      HIENOA
      Hyvä ajatus kutsua funktioita, ehdon toteutumista vastaavasti. Virhe on minimaalinen, (;) ja vain yksirivisenä tulee esille.

      #!/usr/bin/env bash
      on () { echo "Tiedosto on olemassa."; }
      ei () { echo "Tiedostoa ei ole olemassa."; }
      [ -f testi.txt ] && on || ei

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

    Luetuimmat keskustelut

    1. Kun Arman Alizad puolusti hiihtäjä Vilma Nissilää sanomalla

      "älä välitä sekopäistä Vilma", ja kun siitä kerrottiin täällä, niin sekopäinen mukasuvaitsevainen teki siitä valituksen
      Maailman menoa
      52
      3270
    2. Venezuela on hyvä esimerkki vasemmistolaisten pahuudesta

      Jokainen tietää, että Venezuelassa on pitkään ollut Chavezin ja Maduron vasemmistohallinto. Maan talous on romuttunut,
      Maailman menoa
      67
      2663
    3. Trump muka öljyn takia Venezuelaan? Pelkää mustamaalausta

      Kertokaapa mistä tuollainen uutisankka on saanut alkunsta? Näyttäkääpä ne alkuperäiset lähteet, minä en löytänyt mitään
      Maailman menoa
      66
      2467
    4. Ei tule uni

      Kuten epäilin. Onneksi viime yön sain ihan hyvin nukutuksi. Tiesin kyllä, ettei tästä mitään tänään tule.
      Ikävä
      62
      1348
    5. Miksi juuri Venezuela?

      Kaikista maailman valtioista Trump otti silmätikukseen Venezuelan. Mutta minkä ihmeen takia? Kyseessä on kuitenkin vähäp
      Maailman menoa
      304
      1278
    6. Miksei Trump ole kiinnostunut Suomen valloittamisesta?

      Täällähän on enemmän turvetta kuin Norjalla öljyä. Eikö Ttump ole turvenuija?
      Maailman menoa
      4
      1143
    7. Jos mies olet oikeasti...?

      Kiinnostunut... Pyydä mut kunnolla treffeille ja laita itsesi likoon. En voi antaa sydäntä jos sinä olet epävarma ja eh
      Ikävä
      104
      1034
    8. Toivon sulle silti hyvää

      Väärinkäsityksiä tapahtuu, mutta nyt on uusi vuosi ja uudet kujeet.
      Ikävä
      41
      1026
    9. Tiedän, että olet luonnevikainen

      Haluaisin vain todeta olleeni väärässä tässä asiassa.
      Ikävä
      42
      997
    10. Pitäisikö meidän

      Sitten nähdä ilman että siitä tehdään ongelmaa?
      Ikävä
      80
      991
    Aihe