#!/usr/bin/env bash # # try.sh - demonstrate IOCCC entry 2018/yang # # 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: ./left < prog.c (space = next page, q = quit): " echo 1>&2 ./left < prog.c | less -rEXFK echo 1>&2 read -r -n 1 -p "Press any key to run: ./right < prog.c (space = next page, q = quit): " echo 1>&2 ./right < prog.c | less -rEXFK echo 1>&2 read -r -n 1 -p "Press any key to run: ./left < prog.c | ./left (space = next page, q = quit): " echo 1>&2 ./left < prog.c | ./left | less -rEXFK echo 1>&2 read -r -n 1 -p "Press any key to run: ./shift < prog.c (space = next page, q = quit): " echo 1>&2 ./shift < prog.c | less -rEXFK echo 1>&2 read -r -n 1 -p "Press any key to run: echo IOCCC | ./left: " echo 1>&2 echo IOCCC | ./left echo 1>&2 read -r -n 1 -p "Press any key to run: echo IOCCC | ./right: " echo 1>&2 echo IOCCC | ./right echo 1>&2 read -r -n 1 -p "Press any key to run: echo IOCCC | ./shift: " echo 1>&2 echo IOCCC | ./shift echo 1>&2 read -r -n 1 -p "Press any key to run: ./msg0: " echo 1>&2 ./msg0 echo 1>&2 read -r -n 1 -p "Press any key to run: ./msg1: " echo 1>&2 ./msg1 echo 1>&2 read -r -n 1 -p "Press any key to run: ./msg2: " echo 1>&2 ./msg2 read -r -p "Do you wish to see some of the spoilers? (Y/N)? " if [[ "$REPLY" == "Y" || "$REPLY" == "y" ]]; then echo "$ make spoilers" 1>&2 make spoilers rm -f generated*.c msg*.c echo "$ make i_give_up_show_me_the_spoilers" make i_give_up_show_me_the_spoilers echo 1>&2 for i in 0 1 2 3 4 5 6 7 8; do read -r -n 1 -p "Press any key to run: ./msg$i: " echo 1>&2 ./msg"$i" done echo 1>&2 read -r -n 1 -p "Press any key to run: ./msg9 < prog.c: " echo 1>&2 ./msg9 < prog.c make generated1 1>/dev/null || exit 1 read -r -n 1 -p "Press any key to run: echo IOCCC | ./generated1: " echo 1>&2 echo IOCCC | ./generated1 fi