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
Onko tiedosto olemassa
3
331
Vastaukset
- 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
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.2110845- 408097
- 1235211
- 693538
- 1123538
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi343498- 613390
- 333137
- 532474
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak341976