49 lines
933 B
Bash
49 lines
933 B
Bash
# shcat.bash
|
|
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
|
# 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
|