Add 2006/borsanyi/try.sh
The script runs in a loop until the user answers anything but 'y' or 'Y' when asked if they wish to make another one. It does NOT check the valid range of characters or the length. Instead it suggests one try and see what happens if they do not follow the rules. Updated .gitignore.
This commit is contained in:
1 parent
bfc111cb80
commit
479f347a14
4 files changed
+58
-3
No files matched your search
@@ -3,7 +3,7 @@
|
||||
borsanyi
|
||||
borsanyi.orig
|
||||
*.dSYM
|
||||
example.gif
|
||||
*.gif
|
||||
indent
|
||||
indent.c
|
||||
indent.o
|
||||
|
||||
@@ -26,9 +26,14 @@ For more detailed information see [2006 borsanyi in bugs.md](/bugs.md#2006-borsa
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./borsanyi ioccc@example.com > example.gif
|
||||
./try.sh
|
||||
```
|
||||
|
||||
We recommend you input for the filename `example.gif` and for the string
|
||||
`ioccc@example.com`. The script will not overwrite files. It runs the program in
|
||||
a loop until you answer that you do not wish to make another.
|
||||
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# try.sh - demonstrate IOCCC winner 2006/borsanyi
|
||||
#
|
||||
|
||||
# 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
|
||||
|
||||
echo "When using this script, ask yourself what happens if you put a string > 42" 1>&2
|
||||
echo "characters long and what happens if you input characters not in the regexp:" 1>&2
|
||||
echo "'a-z_A-Z0-9@.-'." 1>&2
|
||||
echo 1>&2
|
||||
|
||||
while :; do
|
||||
read -r -p "Enter a target file name: " filename
|
||||
if [[ -n "$filename" ]]; then
|
||||
if [[ -f "$filename" ]]; then
|
||||
echo "$0: ERROR: $filename already exists, will not overwrite." 1>&2
|
||||
continue
|
||||
fi
|
||||
else
|
||||
echo "$0: ERROR: empty file name, try again." 1>&2
|
||||
continue
|
||||
fi
|
||||
read -r -p "Enter a string to write to the file: " email
|
||||
if [[ -n "$email" ]]; then
|
||||
./borsanyi "$email" > "$filename"
|
||||
if [[ -f "$filename" ]]; then
|
||||
echo "Wrote image to $filename" 1>&2
|
||||
else
|
||||
echo "$0: ERROR: failed to write to $filename" 1>&2
|
||||
fi
|
||||
fi
|
||||
read -r -n 1 -p "Do you wish to make another one (Y/N)? "
|
||||
if [[ "$REPLY" != "Y" && "$REPLY" != "y" ]]; then
|
||||
break
|
||||
fi
|
||||
echo 1>&2
|
||||
done
|
||||
Reference in new issue
Block a user