Ohjelmille ja ohjelmien funktioille syötettävistä parametreista:
================================================================
- ohjelmille ja funktioille voi syöttää parametreja kahdella tavalla:
  1. Arvo (by value). Tällöin vastaanottavassa päässä parametreihin viitataan: $1, $2 ....$N  jolloin n täytyy olla alle 10. Tai: ${@:N} jolloin N:llä ei ole rajaa. Lopustapäin laskettuna toiseksiviimeinen: ${@:(-2):1} 		
  2. Nimi. (by reference). Tällöin vastaanottavassa päässä parametriin viitataan:  =${!N} 			    
- seuraavilla parametreilla on erikoismerkitys:
$* parametrien joukko
$@ parametrien joukko, sama kun kirjoittaisi "$1" "$2" "$3" .... Parametri $0 siis jää pois
$# parametrien lukumäärä, parametria $0 ei lasketa mukaan. Siis: [ $# -lt 1]" -> mikäli parametreja ei ole
$$ ytimen tunnus 
$! viimeksi suoritetun prosessin tausta-prosessin tunnus
$? viimeksi suoritetun  käskyn paluuarvo
$- oletusarvo?	
$_ heti kutsun jälkeen suoritettavan skriptin täydellinen tiedostonimi ( siis polkuineen). Muulloin viimeiseksi suoritetun käskyn viimeinen argumentti. 
$1...$9 voidaan viitata semmoisenaan,  

Ohjelmille voidaan antaa myös optioita, miinus-merkin edeltämiä kirjainsarjoja tyyliin: ls -lpr

parametrien joukko          ${@}     
\$1 --------------------->  $1       
\$2 --------------------->  $2       
skriptin oma nimi           ${0}     # BASH_SOURCE pääohjelmassa    
skriptiä kutsuneen nimi     ${0%/*}  # eipäs kun skriptin polku ?
oma nimeni                  ${0##*/} 

set -- $(echo $tulos | sed 's/annuiteetti//g')   # parametrit löytyvät nimillä: $1 $2 $3


