Optio   	  Toiminta
-a ANAME	  Luetaan matriisi alkaen osoitteesta 0  assignment. Muita argumentteja ei voi antaa.
-d DELIM	  Lukeminen koppuu tähän merkkiin eikä '\n':ään.
-e	          Lukemiseen käytetää readline-funktiota.
-n NCHARS 	  Luetaan N merkkiä
-p tekstiä Ennen  lukemista kirjoitetaan teksti. kenoa ei voi käyttää.
-r	          Keno on normaali merkki.
-s	          Mitään ei tulosteta, ei edes sitä mikä kirjoitetaan.
-t aika   	  Kirjoitusta odotetaan kunnes aika on kulunut ja read ohitetaan senjälkeen.
-u FD	          Luetaan tiedostokuvaajasta.


arvon lukeminen näppäimistöltä siten että antamaasi voi kokoajan editoida:
read -e -p "Annapa arvo: " -i kirjoita_tähän_oletusarvo $muuttuja; echo "annoit arvon: "$muuttuja # oletusarvo annetaan siis aina aluksi
- jos oletusarvoa  ei ole niin tuon: "-i kirjoita_tähän_oletusarvo" voi pyyhkiä pois

Muutama tavallinen:
read -sn 1 -p "Paina jotain näppintä jatkaakseesi"

read -p "oletko varma? " -n 1 -r; [[ ! $REPLY =~ ^[Kk]$ ]] || return

read pvm kuukausi vuosi viikkono <<< $(date +'%d %m %y %V'); echo päivä:$pvm'    'kuukausi:$kuukausi'   'vuosi:$vuosi'   'viikkono:$viikkono

Lukujen lukeminen matriisiin:
read -p 'anna lukuja välilyöntien eroittamina: ' apu; readarray matriisi < <(echo $apu); echo 'antamasi luvut:';for i in ${matriisi[@]}; do echo $i; done
- lukuja voi olla niin monta kuin haluaa.
- luvut saavat olla mitätahansa tekstiä jossa ei ole välilyöntejä -> myös desimaaliluvut, tieteellisen esitysmuodon luvut, exponentit, funktiot... voi esittää

matriisin lukeminen tiedostosta vanhalla luotettavalla menetelmällä:
i=0; while IFS=$'\n' read -r rivi; do matriisi[i]="${rivi}"; ((++i)); done < tiedosto
tai:
i=0; cat tiedosto | while read rivi; do matriisi[i]="${rivi}"; ((++i)); done

matriisin lukeminen tiedostosta uudemmalla menetelmällä. Mutta tuo readarray tekee siis vähän muutakin:
readarray matriisi < tiedosto 

matriisin lukeminen tekstijonosta:      
matriisi=(1 2 3 4 5)                

matriisin lukeminen toisesta matriisista:
matriisi=("${apu[@]}")

matriisin lukeminen toisesta matriisista jättäen ne rivit pois joilla on valittava teksti jossainkohtaa (tässä esimerkissä 3.3):
matriisi=("${apu[@]/*3.3*/}")

matriisin lukeminen toisesta matriisista vaihtaen millähyvänsä rivillä määrättävän tekstin:
mariisi=("${apu[@]//menuentry/menuhih}")
joskus koodista tulee sangen sottaista:
matriisi2=("${matriisi[@]//*jotakin*/'rivi poistettu\n'}"); echo -e " ${matriisi2[@]}" 

matriisien liittäminen:    
matriisi=("${apu[@]}" "${apu2[@]}") 
tai:
matriisi+=("${apu[@]}")


read -s pass; echo $pass | md5sum | base64 | cut -c -16 # aja ja anna salasanasiemen ja paina enter

read a <<< *.pdf; echo $a   # tulostaa: *.pdf






