csj <[EMAIL PROTECTED]> writes:

> I tend to write scripts which are tcsh-compatible.  So
> "#!/bin/tcsh".  But its somewhat a waste of effort to write one
> set of scripts for bash and another for tcsh.  My main problem is
> handling the variables.  Is there a shell-portable way to specify
> variables?

...to what end?  I'm confused here: if you set variables inside the
script, they won't be visible to the parent of the script, but they
generally will be visible to children.

  #!/bin/tcsh
  setenv TESTVAR hi
  /bin/sh -c 'echo $TESTVAR'

  #!/bin/sh
  TESTVAR=hi
  export TESTVAR
  /bin/tcsh -c 'echo $TESTVAR'

will both print "hi" because that's the string being passed through
the environment; it doesn't care what shells are (or aren't) involved.

> I write mostly convenience scripts that are generally less than a
> console screen in length.

So do I, but that doesn't stop me from wanting to do

  make 2>/dev/null

occasionally.  :-)  Using a Bourne-like interactive shell is also
useful, since I wind up typing a lot of one-liners that might include
shell loops.  (I personally use zsh, but I think bash has about the
same feature set these days; at least, it has programmable completion,
which is the reason I originally switched to zsh.)

-- 
David Maze         [EMAIL PROTECTED]      http://people.debian.org/~dmaze/
"Theoretical politics is interesting.  Politicking should be illegal."
        -- Abra Mitchell


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to