-
-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathtry.sh
More file actions
executable file
·102 lines (89 loc) · 2.71 KB
/
try.sh
File metadata and controls
executable file
·102 lines (89 loc) · 2.71 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 1992/gson
#
# 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
ag()
{
if [[ "$#" -lt 2 ]]; then
echo "$0: ag() requires at least two args, given: $#" 1>&2
return
fi
echo "$ ./ag -5 ${*:2} < $1" 1>&2
read -r -n 1 -p "Press any key to continue (space = next page, q = quit): "
echo 1>&2
./ag -5 "${@:2}" < "$1" 2>/dev/null | less -rEXF
echo 1>&2
}
# try making our own dictionary with mkdict.sh:
#
rm -f words
cat index.html README.md try.sh Makefile | ./mkdict.sh > words
DICT="words"
# safety check that DICT is not empty and is a readable file
#
if [[ -n "$DICT" && -f "$DICT" && -r "$DICT" ]]; then
read -r -n 1 -p "Press any key to use our own dict from mkdict.sh: "
echo 1>&2
ag "$DICT" free software foundation
ag "$DICT" free software foundations
ag "$DICT" obfuscated c contest
ag "$DICT" obfuscated c contests
ag "$DICT" unix international
ag "$DICT" george bush
ag "$DICT" ross perot
ag "$DICT" paul e tsongas
ag "$DICT" bill gates
ag "$DICT" microsoft conspiracy
ag "$DICT" international microsoft conspiracy
fi
# now attempt to find a dictionary file if DICT unset or not a regular readable file
#
echo "Will now try locating system dictionary." 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
DICT=""
if [[ -z "$DICT" || ! -f "$DICT" || ! -r "$DICT" ]]; then
DICT="/usr/share/dict/words"
if [[ ! -r "$DICT" ]]; then
DICT="/usr/share/lib/spell/words"
if [[ ! -r "$DICT" ]]; then
DICT="/usr/ucblib/dict/words"
if [[ ! -r "$DICT" ]]; then
DICT="/dev/null"
fi
fi
fi
fi
# safety check that DICT is not empty and is a readable file
#
if [[ -n "$DICT" && -f "$DICT" && -r "$DICT" ]]; then
echo "Using $DICT as dictionary file." 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
ag "$DICT" free software foundation
ag "$DICT" free software foundations
ag "$DICT" obfuscated c contest
ag "$DICT" obfuscated c contests
ag "$DICT" unix international
ag "$DICT" george bush
ag "$DICT" bill clinton
ag "$DICT" ross perot
ag "$DICT" paul e tsongas
ag "$DICT" pauline hansen
ag "$DICT" bill gates
ag "$DICT" microsoft windows
read -r -n 1 -p "This next one can take some time. Do you want to run it anyway (Y/N)? "
echo 1>&2
if [[ "$REPLY" = "y" || "$REPLY" = "Y" ]]; then
ag "$DICT" international microsoft conspiracy
fi
fi