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]