[vox-tech] bash question

Peter Jay Salzman vox-tech@lists.lugod.org
Wed, 8 Jan 2003 11:59:27 -0800


i'm not exactly sure what you're trying to do here, but i'll take a stab
at what i think you want.

if you're trying to run a program (say, ls) on the various input files
(say, hello.in) and redirect output to a similarly named output file
(say, hello.out), instead of this:


for I in *.in
do
    J=`basename $I .in`
    "$1 > $J.out";
    "$1";
done


don't you want to do this:

for I in *.in
do
   J=`basename $I .in`
   $1 $I > $J.out;
done



or am i not understanding the problem correctly?

pete



begin Matt Holland <mdholland@ucdavis.edu> 
> Hey all, I'm trying to automate some grunt work, and for the life of me, 
> I can't figure out where I'm going wrong.  Here's a simplified version 
> of what I'm trying to do:
> 
> -----
> #!/bin/bash
> 
> # testrun.sh -- run the simulations to be done in the current directory
> #
> # usage: testrun.sh <prog>
> #        where <prog> is the program to be run on all of the input files
> 
> for I in *.in
> do
>     J=`basename $I .in`
>     "$1 > $J.out";
>     "$1";
> done
> -----
> 
> When I run it, I get:
> 
> $ testrun.sh hello
> /home/holland/bin/testrun.sh: hello > 0001.out: command not found
> hello, world
> /home/holland/bin/testrun.sh: hello > 0002.out: command not found
> hello, world
> /home/holland/bin/testrun.sh: hello > 0003.out: command not found
> hello, world
> /home/holland/bin/testrun.sh: hello > 0004.out: command not found
> hello, world
> 
> So it seems that something is wrong with my output redirection, but each 
> of the commands that it complains about works fine if I paste it into 
> the terminal directly (also using bash).
> 
> Any ideas?
> 
> Thanks,
> Matt
> 
> -- 
> Matt Holland
> Population Biology Graduate Group
> University of California, Davis
> 
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

-- 
First they ignore you, then they laugh at you, then they fight you,
then you win. -- Gandhi, being prophetic about Linux.

Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D