From 46c50fce0354d81d347a8055314a688fc8aa9f52 Mon Sep 17 00:00:00 2001 From: Pete Travis Date: Fri, 26 Sep 2014 14:42:22 -0600 Subject: bash sources --- scratch/bash-3.1/examples/scripts.noah/shcat.bash | 49 +++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 scratch/bash-3.1/examples/scripts.noah/shcat.bash (limited to 'scratch/bash-3.1/examples/scripts.noah/shcat.bash') diff --git a/scratch/bash-3.1/examples/scripts.noah/shcat.bash b/scratch/bash-3.1/examples/scripts.noah/shcat.bash new file mode 100644 index 0000000..5d9e96d --- /dev/null +++ b/scratch/bash-3.1/examples/scripts.noah/shcat.bash @@ -0,0 +1,49 @@ +# shcat.bash +# Author: Noah Friedman +# Created: 1992-07-17 +# Last modified: 1993-09-29 +# Public domain + +# Conversion to bash v2 syntax done by Chet Ramey + +# Commentary: +# Code: + +#:docstring shcat: +# Usage: shcat {file1} {file2} {...} +# +# Like `cat', only this is all inline bash. +#:end docstring: + +###;;;autoload +function shcat () +{ + local IFS="" + local line + local file + local exitstat=0 + + if [ $# -eq 0 ]; then + while read -r line; do + echo "${line}" + done + return 0 + else + for file in "$@" ; do + if [ -r "${file}" ]; then + while read -r line; do + echo "${line}" + done < "${file}" + else + # This will cause the error to be printed on stderr + < "${file}" + exitstat=1 + fi + done + return ${exitstat} + fi +} + +provide shcat + +# shcat.bash ends here -- cgit