Keskustelu:Bash-skriptaus
Voisiko joku osaavampi tarkistaa, että kuuluisiko alla olevassa skriptiesimerkissä olla funktion kutsuna Käyttis ei Funktio. En uskalla lähteä korjailemaan kun tiedän niin vähän asiasta että voin olla väärässä.
>>>
Funktiot
Kuten "oikeissa" ohjelmointikielissä, myös bash-skripteissä on mahdollista käyttää funktioita seuraavalla tavalla
- !/bin/bash
function Käyttis {
os="Linux"
} os="Windows"
- Kutsutaan funktiota
Funktio echo $os
Tulostaisi "Linux".
Funktiota kutsutaan kuten mitä tahansa komentoa, shell:t katsovat onko komentorivin komento
- alias
- sisäinen
- funktio
- ulkoinen
Joten kutsuttaessa ei kerrota millään lailla mitä tyyppiä edellisistä. Mahdollistaa esim. komentojen ylikirjoittamisen.
#!/bin/bash #!/usr/bin/bash os="Windows" function Kayttis { os="Linux" } function date { echo "Ketä kiinnostaa ?" } #-- ns. paaohjelma -- Kayttis echo "$os" # output Linux date
--Kshji 13. tammikuuta 2009 kello 15.44 (UTC)
Muuttujien, funktioiden ym. nimissä kannattaa pitäytyä merkeissä A-Z a-z 0-9 _ jos haluaa varmistaa, että toimii eri sh:ssä.
if, while, until on hieman vajavaisesti/virheellisesti kerrottu. Ko. komentojen perässä on argumenttinä ihan normaali komentorivi, vain yksi vaihtoehto on käyttää test-komentoa, joka voidaan kirjoittaa myös [ merkkijonona. Ko. komentorivin exit-koodi annetaan komennolle if/while/until ja ko. arvon perusteella tapahtuu jatko.
Voitte luntata lisää Omasta pikaohjeestani
--kshji 13. tammikuuta 2009 kello 16.32 (UTC)
- Tosiaan tätä artikkeliahan voisi kehittää testaamalla muita shellejä vasten, että muokkaisin enemmän yleiseksi shell-skriptaus-artikkeliksi eikä niinkään bash-spesifiksi. --maakuth 13. tammikuuta 2009 kello 22.26 (UTC)
Mitä muita hyviä esimerkki ohjelmia tulee mieleen tai mitä olette käyttäneet? Ja voisiko niitä tänne kirjoittaa. Ettei samaa "pyörää" tarvitse keksiä uudestaan. --Lahtis 19. maaliskuuta 2010 kello 13.55 (UTC)