Add 1987/wall/try.sh
This script automates through a pipeline some of the input suggested in the README.md. The README.md still has some of what try.sh has because it shows that you can do it entering line by line.
This commit is contained in:
1 parent
bc7ebdaa4b
commit
e257cd1af0
3 files changed
+53
-14
No files matched your search
+6
-14
@@ -19,22 +19,11 @@ make all
|
||||
### Try:
|
||||
|
||||
```sh
|
||||
./wall | bc | ./wall
|
||||
./try.sh
|
||||
```
|
||||
|
||||
and input the following:
|
||||
|
||||
```
|
||||
x*x
|
||||
c^2
|
||||
m*m
|
||||
|
||||
# can you figure out what this does?
|
||||
500
|
||||
|
||||
```
|
||||
|
||||
You may also wish to try:
|
||||
You may of course run the commands manually and enter text as you wish. For
|
||||
instance you might try one or both of:
|
||||
|
||||
```sh
|
||||
./wall | bc
|
||||
@@ -50,6 +39,9 @@ x*x
|
||||
quit # for the cat version
|
||||
```
|
||||
|
||||
which the script does through a pipeline except that here you can enter more
|
||||
text if you wish, line by line.
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# try.sh - demonstrate IOCCC winner 1987/wall
|
||||
#
|
||||
|
||||
# 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: echo 'x*x' | ./wall | bc: "
|
||||
echo 1>&2
|
||||
echo 'x*x' | ./wall | bc
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: printf \"x*x\\nc^2\\nm*m\\n\\n500\\n\" | ./wall | bc | ./wall: "
|
||||
echo 1>&2
|
||||
printf "x*x\nc^2\nm*m\n500\n" | ./wall | bc | ./wall
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: printf \"x*x\\n2^x\\nquit\\n\" | ./wall | cat: "
|
||||
printf "x*x\n2^x\nquit\n" | ./wall | cat
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: printf \"x*x\\n2^x\\n\" | ./wall | bc: "
|
||||
echo 1>&2
|
||||
printf "x*x\n2^x\n" | ./wall | bc
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: printf \"500\\n\" | ./wall | bc: "
|
||||
echo 1>&2
|
||||
printf "500\n" | ./wall | bc
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: echo 500 | ./wall: "
|
||||
echo 1>&2
|
||||
echo 500 | ./wall
|
||||
echo 1>&2
|
||||
@@ -576,6 +576,8 @@ size constraints of the contest).
|
||||
|
||||
[Cody](#cody) made this use `fgets(3)`.
|
||||
|
||||
Cody also added the [try.sh](1987/wall/try.sh) script.
|
||||
|
||||
|
||||
## <a name="1987_westley"></a>[1987/westley](/1987/westley/westley.c) ([README.md](/1987/westley/README.md]))
|
||||
|
||||
|
||||
Reference in new issue
Block a user