-
-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathtry.sh
More file actions
executable file
·55 lines (50 loc) · 1.81 KB
/
Copy pathtry.sh
File metadata and controls
executable file
·55 lines (50 loc) · 1.81 KB
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
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 2000/schneiderwent
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
[[ -z "$CC" ]] && CC="cc"
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
# get the number of seconds to sleep in between runs (def: 60)
[[ -z "$SLEEP" ]] && SLEEP=60
# verify it's a positive number:
echo "$SLEEP" | grep -qE '^[0-9]+'
if [[ "${PIPESTATUS[1]}" -ne 0 ]]; then
echo "SLEEP value not a positive number, fix and run again."
exit 1
fi
# get the number of iterations to run (default: 60)
[[ -z "$ITERATIONS" ]] && ITERATIONS=60
# verify it's a positive number:
echo "$ITERATIONS" | grep -qE '^[0-9]+'
if [[ "${PIPESTATUS[1]}" -ne 0 ]]; then
echo "ITERATIONS value not a positive number, fix and run again."
exit 1
fi
echo "If you did not override \$SLEEP and \$ITERATIONS this will take a long" 1>&2
echo "time to run to completion: approximately one hour. If you do not care to" 1>&2
echo "wait such a long time, which we presume is probably quite likely, you" 1>&2
echo "you might wish to run this entry like the following: " 1>&2
echo 1>&2
echo " ./schneiderwent" 1>&2
echo " ./schneiderwent schneiderwent.data" 1>&2
echo 1>&2
echo "at various times throughout the day, preferably at different" 1>&2
echo "minutes of the hours." 1>&2
echo 1>&2
echo "Alternatively, you can leave this running in a console tab for an hour" 1>&2
echo "and look back at it later, so that you can see all the entry does." 1>&2
echo 1>&2
read -r -n 1 -p "Press any key to start: "
echo 1>&2
i=0
while [[ "$i" -lt "$ITERATIONS" ]]; do
./schneiderwent
./schneiderwent schneiderwent.data
sleep "$SLEEP"
((i++))
done