csh if..then delhema.

Mel fbsd.questions at rachie.is-a-geek.net
Sun Sep 9 13:12:18 PDT 2007


On Sunday 09 September 2007 21:35:40 Gary Kline wrote:
> On Sun, Sep 09, 2007 at 04:17:21PM +0300, Giorgos Keramidas wrote:
> > On 2007-09-09 08:57, Grant Peel <gpeel at thenetnow.com> wrote:
> > > Thanks for the input gentlemen,
> > > Interesting to that the question was posted by G(rant) and then
> > > answered by G(ary), G(arrett) and G(iorgos)! (what are the odds!).
> >
> > Haha :)
> >
> > > Anywho, I am busily converting the script to perl as per the
> > > suggestions. I use tcsh rarely, had I of known the quirks I woul shave
> > > done it in perl from the beguining.
> > >
> > > As for Garrett's case method, it didnt work. Created a "case: Too many
> > > arguments." error. Perhaps because it itself is nested in a 'foreach'
> > > statement.
> >
> > `foreach' is a csh construct.  If you copied the case/esac code posted
> > by Garrett, then it wouldn't work.  The syntax used by Garrett was for
> > the Bourne shell (hence the /bin/sh reference above case).
> >
> > If you are going to convert everything to /bin/sh, you may as well
> > convert it to Perl unless there is some very good reason to use only
> > the pretty minimal data-structures supported by the Bourne shell
> > (i.e. because you want to run the script in environments where Perl
> > may be too much to require).
>
> 	Do any of you gents know if there is a converter that turns
> 	Bo[u]rne (:-)) shell into perl?  Years ago there was
> 	commericalware (i Think) that took /bin/sh to C.  Maybe Ii'm
> 	mis-remembering.  I've googled aroud and find zip, so maybe I
> 	was in some kind of coma-zone.
>
> 	At any rate, for simple unix scripts, /bin/sh (aka "a-shell", ash)
> 	or ksh or zsh is the way to go.  Simple == a few lines.
> 	For anything grittier, perl wins any time.

Perl looses when /usr isn't mounted. That's the primary argument against using 
anything other then /bin/sh (including bash). All the rest is preference.

-- 
Mel


More information about the freebsd-questions mailing list