When I first wrote the try scripts, and in particular the ovdluhe.alt.c code to do what the author suggested one try, I just had the option in try.alt.sh to redefine P once. Now the user can do that but after the initial loop it loops from 2..10 (the range the author suggested) running the loop again (on the three files three times) so one can see what the author means. The try.sh script has the updated idea by the judges of printing two lines, not one, after each prompt. Rebuilt index.html from updated README.md.
81 lines
2.0 KiB
Bash
Executable File
81 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# try.alt.sh - demonstrate IOCCC entry 1989/ovdluhe.alt alternate code
|
|
#
|
|
|
|
# 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
|
|
|
|
# user may also reconfigure P
|
|
if [[ -n "$P" ]]; then
|
|
make clobber CC="$CC" P="$P" alt >/dev/null || exit 1
|
|
else
|
|
make clobber CC="$CC" alt >/dev/null || exit 1
|
|
fi
|
|
|
|
# clear screen after compilation so that only the entry is shown
|
|
clear
|
|
|
|
i=0
|
|
for ((i=0; i<3; ++i)); do
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < ovdluhe.alt.c: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < ovdluhe.alt.c
|
|
echo 1>&2
|
|
echo 1>&2
|
|
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < README.md: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < README.md
|
|
echo 1>&2
|
|
echo 1>&2
|
|
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < Makefile: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < Makefile
|
|
echo 1>&2
|
|
echo 1>&2
|
|
done
|
|
|
|
echo "Now we will redefine P from 2 through 10, running the program on three files" 1>&2
|
|
echo "three times. If you wish to stop at any point just send intr (usually ctrl-c)." 1>&2
|
|
echo "To quit the script." 1>&2
|
|
read -r -n 1 -p "Press any key to continue: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
for ((P=2; P<=10; ++P)); do
|
|
echo "Recompiling with P=$P ..." 1>&2
|
|
make clobber CC="$CC" P="$P" alt >/dev/null 2>&1|| exit 1
|
|
for ((i=0; i<3; ++i)); do
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < ovdluhe.alt.c: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < ovdluhe.alt.c
|
|
echo 1>&2
|
|
echo 1>&2
|
|
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < README.md: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < README.md
|
|
echo 1>&2
|
|
echo 1>&2
|
|
|
|
read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < Makefile: "
|
|
echo 1>&2
|
|
echo 1>&2
|
|
./ovdluhe.alt < Makefile
|
|
echo 1>&2
|
|
echo 1>&2
|
|
done
|
|
done
|
|
|
|
|