As I was going through another file I noticed that something was missing from the script, if perl is installed, and it also prompts the user if they wish to run the author's suggested command (it results in an infinite loop which is why it was left out but prompting for it is okay as it's at the end). The make clobber rule was updated for this update.
59 lines
1.7 KiB
Bash
Executable File
59 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# try.sh - show IOCCC entry 1996/schweikh2
|
|
#
|
|
|
|
# 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 to run ./schweikh2 (space = next page, q = quit): " 1>&2
|
|
echo >&2
|
|
./schweikh2 | less -rEXF
|
|
echo >&2
|
|
|
|
read -r -n 1 -p "Press any key to run: ./schweikh2 15 1 0 0/0 | head -n 15: " 1>&2
|
|
echo >&2
|
|
./schweikh2 15 1 0 0/0 | head -n 15
|
|
echo >&2
|
|
|
|
read -r -n 1 -p "Press any key to run grep -v '#' schweikh2.c (space = next page, q = quit): "
|
|
echo 1>&2
|
|
grep -v '#' schweikh2.c | less -rEXF
|
|
echo 1>&2
|
|
|
|
PERL="$(type -P perl)"
|
|
if [[ -n "$PERL" ]]; then
|
|
read -r -n 1 -p "Press any key to run: less hunni.c (space = next page, q = quit): "
|
|
echo 1>&2
|
|
less -rEXF hunni.c
|
|
echo 1>&2
|
|
|
|
echo "$ perl ./hunni.pl < hunni.c > obfus.c" 1>&2
|
|
read -r -n 1 -p "Press any key to obfuscate hunni.c as obfus.c (space = next page, q = quit): "
|
|
echo 1>&2
|
|
perl ./hunni.pl < hunni.c > obfus.c
|
|
|
|
read -r -n 1 -p "Press any key to run: diff -s obfus.c schweikh2.c: "
|
|
echo 1>&2
|
|
diff -s obfus.c schweikh2.c
|
|
rm -f obfus.c
|
|
fi
|
|
|
|
read -r -p "Do you want to run the author's suggested command (Y/N)? "
|
|
if [[ "$REPLY" = "y" || "$REPLY" = "Y" ]]; then
|
|
echo "Warning: this command is an infinite loop. Press ctrl-c or whatever your" 1>&2
|
|
echo "intr is to end it." 1>&2
|
|
read -r -n 1 -p "Press any key to continue: "
|
|
echo 1>&2
|
|
while :; do grep -v '#' schweikh2.c; sleep 2; echo; done
|
|
fi
|