#!/bin/sh
#
# spezielle Signal-Spezifikationen bei trap
#
# 25.2.2006

# die Spezial-Traps einrichten
trap 'echo DEBUG' DEBUG
trap 'echo ERR' ERR
trap 'echo EXIT' EXIT
trap 'echo RETURN' RETURN

# Demonstration von DEBUG
echo 'einfaches Kommando'

echo 'nicht-arithmetische for-Schleife'
for i in 1 2 3
do
  echo $i
done

echo 'arithmetische for-Schleife'
for ((i=10 ; i<15 ; i++))
do
  echo $i
done

echo case
case "$1" in
  1) echo 1
     ;;
  3) echo 3
     ;;
  *) echo Rest
     ;;
esac

echo select
select i in 4 5 6
do
  echo 'break bei select'
  break
done

function f()
{
  echo f1
  echo f2
  echo f3
}

echo 'Function f'
f

# DEBUG-Trap aufheben
trap '' DEBUG

# Demonstration von RETURN
source bash_env

# Demonstration von ERR
echo fehlerhaftes Kommando
rm /tmp

# Demonstration von EXIT
echo Ende

