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:
November 4: Social gathering
Next Installfest:
TBD
Latest News:
Oct. 24: LUGOD election season has begun!
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



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.

_______________________________________________
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:
Sunset Systems
Who graciously hosts our website & mailing lists!