On Mon, Oct 18, 2004 at 07:51:49PM +0200, Olle Eriksson wrote: > I want to be able to receive input both through a pipe, and through > parameters to the script. For example: > > echo "blabla" | myscript.sh > and > myscript.sh "blabla"
Assuming "blabla" is a file name: if [ -z "$1" -o ! -f "$1" ] then # No (valid) file specified, so we'll take stdin. else # File specified, so we'll read it instead of stdin. exec < "$1" fi while read this that the other # ... do ... If it's just text, then check for its existence and process it, after which you can read or ignore stdin at your whim. > The script should be able to check whether or not any input is coming > through the pipe, and if not use $1. What I've listed above does the opposite, but presumably you can accomplish your goals with that behaviour. -- Mason Loring Bliss (( "In the drowsy dark cave of the mind dreams [EMAIL PROTECTED] )) build their nest with fragments dropped http://blisses.org/ (( from day's caravan." - Rabindranath Tagore
pgpMBZxHUYUc1.pgp
Description: PGP signature