Ero sivun ”Keskustelu:Bash-skriptaus” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
Rivi 54: Rivi 54:
----
----
Muuttujien, funktioiden ym. nimissä kannattaa pitäytyä merkeissä A-Z a-z 0-9 _ jos haluaa varmistaa, että toimii eri sh:ssä.
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ää
[http://awot.fi/sf/browser/showdocs?cust=ka&subdir=koulutus/shell/pikaohje Omasta pikaohjeestani]
--[[Käyttäjä:Kshji|kshji]] 13. tammikuuta 2009 kello 16.32 (UTC)

Versio 13. tammikuuta 2009 kello 19.32

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

  1. !/bin/bash

function Käyttis {

       os="Linux"

} os="Windows"

  1. 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)