-
-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathtry.sh
More file actions
executable file
·79 lines (62 loc) · 1.84 KB
/
try.sh
File metadata and controls
executable file
·79 lines (62 loc) · 1.84 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 1990/theorem
#
# 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.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
read -r -n 1 -p "Press any key to run: ./theorem y 0 1 0.1 1: "
echo 1>&2
./theorem y 0 1 0.1 1
echo 1>&2
read -r -n 1 -p "Press any key to run: ./theorem x 1 2 0.1 2: "
echo 1>&2
./theorem x 1 2 0.1 2
echo 1>&2
echo "$ ./theorem -r 0 0 0 0 < theorem.c > sorter.c" 1>&2
./theorem -r 0 0 0 0 < theorem.c > sorter.c
echo "$ make sorter" 1>&2
make sorter
echo 1>&2
read -r -n 1 -p "Press any key to run: ls | ./sorter > ls.sorted.txt: "
echo 1>&2
# We do want to process the ls command output.
#
# SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.
# https://www.shellcheck.net/wiki/SC2012
# shellcheck disable=SC2012
ls | ./sorter > ls.sorted.txt
read -r -n 1 -p "Press any key to run: ls -r > ls.txt: "
echo 1>&2
ls -r > ls.txt
echo 1>&2
read -r -n 1 -p "Press any key to run: ./sorter < ls.txt: "
echo 1>&2
./sorter < ls.txt
echo 1>&2
read -r -n 1 -p "./sorter < ls.txt > ls.sorted.2.txt: "
echo 1>&2
./sorter < ls.txt > ls.sorted.2.txt
echo 1>&2
read -r -n 1 -p "Press any key to show diff between ls.sorted.2.txt and ls.sorted.txt: "
echo 1>&2
diff -s ls.sorted.2.txt ls.sorted.txt
echo 1>&2
read -r -n 1 -p "Press any key to run: ./sorter 0 0 0 0 < theorem.c > fibonacci.c: "
./sorter 0 0 0 0 < theorem.c > fibonacci.c
echo "$ make fibonacci" 1>&2
make fibonacci
read -r -n 1 -p "Press any key to run: ./fibonacci 1 7: "
echo 1>&2
./fibonacci 1 7
echo 1>&2
read -r -n 1 -p "Press any key to run: ./fibonacci 2 5: "
echo 1>&2
./fibonacci 2 5
echo 1>&2