[vox-tech] bash question

Mark K. Kim vox-tech@lists.lugod.org
Wed, 8 Jan 2003 12:04:20 -0800 (PST)


Shouldn't:

      J=`basename $I .in`
      "$1 > $J.out";
      "$1";

be:

      J=`basename $I .in`
      $1 > $J.out;
      $1;

?  It appears to be treating the whole "$1 > $J.out" as a program name
(including the redirection and the output -- remember *NIX lets you have
any character in program names except for the forward slash) instead of
treating only $1 as a program name.

If you want to allow program names with spaces, I think you want:

      J=`basename $I .in`
      "$1" > $J.out;
      "$1";

Hope that works... I mean, helps!

-Mark


On Wed, 8 Jan 2003, Matt Holland wrote:

> 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
>

-- 
Mark K. Kim
http://www.cbreak.org/
PGP key available upon request.