I've got a bash script I'd like to loop over the lines in stdin, or loop over each argument passed in.
Is there a clean way to write this so I don't have to have 2 loops?
# if we have command line args...
if [ -t 0 ]
# loop over arguments
for arg in "$@"
# process each argument
# loop over lines from stdin
while IFS= read -r line; do
# process each line
EDIT: I'm looking for a generic solution that just uses a single loop, as I find I want to do this quite often, but have always wrote out 2 loops and then called a function instead. So maybe something that turns stdin into an array, so I could use a single loop instead?