| Events |
|
|
|
|
|
|
|
|
| Services |
|
|
|
|
| Interact |
|
|
| -
|
| -
|
|
|
|
|
| About Us |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: [vox-tech] bash question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] bash question
Sorry, the example isn't quite clear... the only reason for the line
containing only '"$1";' was to demonstrate that the program that's
getting called by the script is in the path, and that the program runs.
The line before that is also quite stripped down from what I would use
in the case I'm actually interested in:
"$1 -i$I -$2 -$3 -$4 -o$3/$J.out > /dev/null";
But it contained the elements that I wanted to test. Anyway, thanks,
because the problem seems to have been the quotes. I thought I needed
the quotes to force substitution of $1, $2, etc., but it seems I was wrong.
It's always something simple like that, isn't it?
Thanks,
Matt
Peter Jay Salzman wrote:
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
--
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
|
|