#!/bin/bash 
#set +u #set -e
# skriptiajuri, näppäinversio  petteriIII 30.5.2016
reset  $TERM # varmistaa että pääte alkaa toimintansa asetukset alkutilassa
# set -o errtrace  # virhemääritykset läpäisevät time-funktion
echo 'Skriptiajuri käynnistyy. Tässä koneessa on BASH:in versio: '$BASH_VERSION'.  Versio 4.0 toimii jotenkin ja ylemmät versiot kunnolla' 
echo 'tämän koneen käyttöjärjestelmä-versio: '$(lsb_release -a | awk '{print $2}' | tr "\n" " ")
[[ -d /sys/firmware/efi ]] && echo 'kone on bootattu UEFI-muodossa' || echo 'konetta ei ole bootattu UEFI-muodossa'
du -b ~/OMATSKRIPTIT | awk '{sum += $1} END {print "~/OMATSKRIPTIT kansio käyttää:   " sum "  sanaa"}'
kanta="/home/"$USER; echo 'skriptiajuria ajetaan paikasta: '$kanta'/OMATSKRIPTIT' 
. $kanta/OMATSKRIPTIT/FUNKTIOKIRJASTO/Näppäimistön_funktiot        # kirjastot ladataan näin, jotta editoitaessa kirjastot luettaisiin editoriin 
. $kanta/OMATSKRIPTIT/FUNKTIOKIRJASTO/Skriptiajurin_funktiot       # ladataan toinen kirjasto
. $kanta/OMATSKRIPTIT/FUNKTIOKIRJASTO/Xref_funktiot                # ladataan kolmas kirjasto
Osioselvitys
trap LopetaSkriptiJaPalaaSkriptiajuriin SIGINT                     # CTRL-c kutsuu kirjastossa tätä valikkonäppäimille määriteltyä funktiota 
# echo -e "Xrefiä on kutsuttu skriptistä:"${0}".   Kutsu tehtiin riviltä:"${BASH_LINENO[0]}"\n\n"
# trap 'echo -e "virheenkäsittelyä kutsuttu skriptistä:"${0}".   Kutsu tehtiin riviltä:"${BASH_LINENO[0]}"\n\n"' ERR 
# trap 'echo virherivi:${LINENO[@]};echo ${FUNCNAME[@]} ; read' ERR # koe
napit="f2=koodaa, f3=ohjeet, f4=dokumentoi, end=erikoistoimet, home=kirjanmerkit, insert=merkitse kansio siirtokohteeksi" 
export -f ValitseValittavistaYksi LopetaSkriptiJaPalaaSkriptiajuriin command_not_found_handle Xref # Skriptiajurissa oltaessa tunnetaan myös nämä käskyt  
LueMistäKansiostaAloitetaan 
LueMissäOnPoikettuArkistoon
täytä_valittavat # koesiirto
while true
do
  VarmistaEttäArkistotOnTehty
  TalletaMistäKansiostaEnsikerrallaAloitetaan
  HaeSenRivinNumeroJollaViimeksiTyöskenneltiinTässäKansiossa
# täytä_valittavat
  ValitseValittavistaYksi "kansio:$KansionNimi" "$napit"
  TalletaSenRivinNumeroJollaNytTyöskennelläänTässäKansiossa 
  ToimintaValinnanPerusteella
  # MikäliLöytyiMäärittelemätönFunktioNiinLisääSeSkriptiin
  echo -en "\033c" #sync # kirjoittaa cachet levylle: siis jos kone kaatuu tämänjälkeen niin kaikki on kirjoitettu levylle
done
