Files
ioccc/next/try.alt.sh
T
Cody Boone Ferguson 03694c587d Various somewhat interconnected fixes
At least one link in the FAQ was fixed (not to a file but a named
reference). The FAQ has not been checked entirely for broken links
because the changes have got a bit out of hand and an entire make www
will have to be performed due to a problem I discovered doing the below.
Other improvements were made.

When going through the FAQ for broken links another problem was
discovered, one that broke the scripts that rely on jstrdecode(1). These
have been fixed but need further testing with make www. Some index.html files
were modified; for why this can be done without make quick_readme2index
see below on what changed and why it could be done this way.

When going through the FAQ for broken links I discovered some
issues with some entries' synopsis. This means that a number of
index.html and .entry.json files have been updated. The reason the
index.html files could be modified without running the scripts which
would were broken due to the jstrdecode(1) issue (a missing option in
the scripts) is because I used sgit(1). However, a single README.md file
was modified and the index.html file was not modified just yet. That
will happen with make www. The change is not significant, however, so
this should be okay this time. As the next step is a long process I
therefore decided to commit these things to get them out of the way to
try and prevent the commit from being even larger.

Minor fixes in next/try.sh and next/try.alt.sh were also discovered when
going through the FAQ.

Minor typos were made in the FAQ.

The .gitignore file was also updated: with the last change I
accidentally made it so vim swap files without a filename are not
ignored. That means there have to be two vim swap file globs.
2024-12-22 09:33:08 -08:00

57 lines
2.7 KiB
Bash

#!/usr/bin/env bash
#
# try.alt.sh - demonstrate IOCCC entry YYYY/foo alternate code
# XXX - try.alt.sh example version: 1.0.0-1 11-28-2024 - XXX
#
# XXX - NOTE: if your submission wins and becomes an entry, then - XXX
# XXX - YYYY/foo will be changed to the 4 digit year and directory - XXX
# XXX - name. - XXX
# XXX - NOTE: please remove the XXX lines in this file, including this one - XXX
# 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.
# XXX - if you need CC to be something else for some reason, say clang, - XXX
# XXX - then change "cc" to that or whatever you need. - XXX
# XXX - If you need other variables you can also set them in whatever way - XXX
# XXX - you need; this is a good method, however, in cases where it's OK - XXX
# XXX - to let the user redefine it. - XXX
[[ -z "$CC" ]] && CC="cc"
# XXX - make sure to compile the alt code, using make alt! - XXX
# XXX - if you need to build the main program for the try.alt.sh script, - XXX
# XXX - then change the 'alt' to 'all alt' in the below command. - XXX
# XXX - Later, if the submission wins, it can be changed to 'everything'. - XXX
make CC="$CC" alt >/dev/null || exit 1
# XXX - it's usually a good idea to clear the screen but if not done - XXX
# XXX - then you should remove the comment about it and the command. - XXX
# clear screen after compilation so that only the entry is shown
clear
# XXX - Invoke the program in one or more ways - XXX
# XXX - NOTE: you can include more than one command line and you - XXX
# XXX - certainly can include pipelines. - XXX
# XXX - It is good to use the shell built-in read(1) to - XXX
# XXX - let the user know what is about to be done, as - XXX
# XXX - shown below, so they can proceed when ready. - XXX
# XXX - You may modify the command based on your program and you - XXX
# XXX - may provide more than one invocation. - XXX
# XXX - Examples follow. - XXX
# XXX - if the prompt will not be too long, say more than 80 chars - XXX
# XXX - or so: - XXX
read -r -n 1 -p "Press any key to run: ./prog.alt: "
echo 1>&2
./prog.alt
# XXX - Otherwise, for longer command lines, you might try: - XXX
echo "$ ./prog.alt some long command line"
read -r -n 1 -p "Press any key to continue: "
./prog.alt some long command line