#!/bin/bash     
# Skriptiajuri, näppäinversio  petteriIII 18.10.2013
reset # varmistaa että pääte alkaa toimintansa asetukset alkutilassa
echo 'tässä koneessa on BASH:in versio: '$BASH_VERSION'.  Versio 4.0 toimii jotenkin ja ylemmät versiot kunnolla' 
echo 'käyttöjärjestelmä-version kuvaus: '$(lsb_release -a | awk '{print $2}' | tr "\n" " ")
kanta=${0%/OMATSKRIPTIT*}; echo 'skriptiajuria ajetaan paikasta: '$kanta'/OMATSKRIPTIT'  
. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/valikkohiirelle              # kirjastot täytyy ladata näin, jotta editoitaessa myös kirjastot luettaisiin editoriin 
. "$kanta"/OMATSKRIPTIT/FUNKTIOKIRJASTO/Skriptiajurin_funktiot       # ladataan kirjasto

Osiojollaollaan; echo 'skriptiajuri toimii osiolla:'$osiojollaollaan'  ja tuon osion nimi on: '$osion_nimi
Levyjollaollaan; echo 'skriptiajuri toimii levyllä nimeltä:'$levyjollaollaan
trap LopetaSkriptiJaPalaaSkriptiajuriin SIGINT                       # CTRL-c kutsuu kirjastossa valikkonäppäimille määriteltyä funktiota LopetaSkriptiJaPalaaSkriptiajuriin 
export -f ValitseValittavistaYksi LopetaSkriptiJaPalaaSkriptiajuriin # Skriptiajurissa oltaessa BASH:issa tunnetaan myös nämä käskyt  
[[ -f $kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/KansionNimiAloituksessa ]] && KansionNimi="$(cat $kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/KansionNimiAloituksessa)" || KansionNimi='OMATSKRIPTIT' 
[[ -f $kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/arkistoonpoikettu ]] && arkistoonpoikettu="$(cat $kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/arkistoonpoikettu)" || arkistoonpoikettu=''
while true
do 
  TalletaMistäKansiostaEnsikerrallaAloitetaan
  HaeSenRivinNumeroJollaViimeksiTyöskenneltiinTässäKansiossa "$KansionNimi"  
  täytä_valittavat $kanta/"$KansionNimi"
  ValitseValittavistaYksi "ollaan kansiossa:$KansionNimi" "hiiriosoittimen osoittama paikka suoritetaan näpäyttämällä hiiren vasenta näppäintä. Valinta vaihtuu hiiren rullalla." 
  [[ $Tapahtuma = "erikoistoimet" ]] && sovellusvalikko && continue 
  [[ $Tapahtuma = "käyttöohjeet" ]] && lukea_ohjeita && continue 
  [[ $Tapahtuma = "kirjanmerkit" ]] && kirjanmerkit && continue 
  [[ -f $kanta/"$KansionNimi"/"$ValitunTeksti" ]] && echo $ValitunNumero > $kanta/"$KansionNimi"/ARKISTO/ViimeksiValittuSkriptiTässäKansiossa && VarmistaEttäArkistotOnTehty
  [[ $Tapahtuma = "koodaa" ]] && koodaa && continue 
  [[ $Tapahtuma = "dokumentoi" ]] && dokumentoi && continue 
  [[ $ValitunTeksti = "ARKISTO" ]] && arkistoonpoikettu=$kanta/"$KansionNimi" && echo "$arkistoonpoikettu">$kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/arkistoonpoikettu
  [[ $ValitunTeksti = '.edellinen_kansio.' ]] && KansionNimi=$(dirname "$KansionNimi") && echo "$KansionNimi">$kanta/OMATSKRIPTIT/ARKISTO/ASETUKSET/KansionNimiAloituksessa && continue 
  [[ -d $kanta/"$KansionNimi"/"$ValitunTeksti" ]] && KansionNimi="$KansionNimi"/"$ValitunTeksti"  
  [[ -f $kanta/"$KansionNimi"/"$ValitunTeksti" ]] && reset && ajaa_valitun_skriptin  # tiedosto ajetaan jos siinä ei ole koodivirheitä mutta jos on niin se lähetetään editoriin.  
done
