1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#!/bin/bash
# vim: set filetype=sh :
# file: example.ia_mktemp2
# copyright: Bernd Schumacher <bernd.schumacher@hpe.com> (2007-2020)
# license: GNU General Public License, version 3
# description: example using function ia_mktemp with exit trap
# see also: test.ia_mktemp2
set -e
set -u
. ./ia.check
assert_exists()
{
local i
local n
n=1; for i in $2; do
[ -f $i ] && echo "OK: $n. file exists in fun $1" >&2 || echo "ERROR: $n. file does not exist in fun $1" >&2
n=$((n+1))
done
}
assert_deleted()
{
local i
local n
n=1; for i in $2; do
[ -f $i ] && echo "ERROR: $n. file $2 not deleted in fun $1" >&2 || echo "OK: $n. file deleted in fun $1" >&2
n=$((n+1))
done
}
fun1()
{
local file1
local file2
ia_mktemp file1
ia_mktemp file2
assert_exists fun1 "$file1 $file2"
echo "$file1 $file2"
}
fun2()
{
local file1
local file2
local file3
ia_mktemp file1
ia_mktemp file2
file3=$(fun1)
assert_exists fun2 "$file1 $file2"
assert_deleted fun2 "$file3"
echo "$file1 $file2"
}
fun3()
{
local file1
local file2
local file3
ia_mktemp file1
ia_mktemp file2
file3=$(fun2)
assert_exists fun3 "$file1 $file2"
assert_deleted fun3 "$file3"
echo "$file1 $file2"
}
ia_mktemp file1
ia_mktemp file2
file3=$(fun3)
assert_exists main "$file1 $file2"
assert_deleted main "$file3"
|