l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
August 18: A professional photographer's view of Linux
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2003 Jan 08 12:15

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] bash question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] bash question



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
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.