On Sat, 9 Apr 2011 06:31:28 -0700 (PDT), Dino Vliet <dino_vl...@yahoo.com> 
wrote:
> Hi folks,
> I'm having trouble with a little shell script. Can somebody
> explain me why I get 3 times "expr: syntax  error" in my
> console after I run this little script?
> 
> #! /usr/local/bin/bash
> # testscript 
> 
> var1="trees.J48" #other value will be rules.Jrip, rules.DecisionTable
> len=${#var1}
> ind=`expr index $var1 s`
> pos=`expr $len - $ind`
> out=`expr substr $var1 $ind $pos` 
> 
> I would expect (and want the following to happen):
> 
> $ind should contain 6
> $pos should contain 3
> $out should contain J48 (other values will have to be Jrip,DecisionTable)
> 
> Can anyone help me with this?

The explaination is quite simple: expr doesn't know "index"
or "substr"; see "man expr" for details.

A polite sidenote: Unless you have a good reason to code
in bash-specific manner, do NOT #!/usr/local/bin/bash, as
this is NOT portable (if this is one of your goals); use
the standard #!/bin/sh instead.

Depending on what you have in mind, maybe mentioning the
strengths of perl, sed and awk is worth being mentioned. :-)



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to