Thread View: comp.unix.shell
2 messages
2 total messages
Started by lubkt
Fri, 16 Nov 1990 19:26
A simple C-shell query.
Author: lubkt
Date: Fri, 16 Nov 1990 19:26
Date: Fri, 16 Nov 1990 19:26
25 lines
1481 bytes
1481 bytes
Here is a C-shell query: Assuming I want to modify or define few environment variables in csh. I create a script file and run that file. Unfortunately, when I run a file, it spawns a shell, and when it completes execution, it terminates the spawned shell. As a result, modification of all environment variables disappears when the shell terminated. Is there any way to do this without using the "source" command, to modify/define environment variables that apply to the present shell. You might get an idea, if I tell you its application. I have TeX compiled under SunOS. I do not to define all the environment variables (variables set using setenv) for all users, only those who want to use tex, by enter, say, "use tex", where "use" is a C-shell script which takes "tex" as its parameter. Having a general script like this will permit "use" to be as generic as possible. Any pointers? I'll appreciate it. Thanks in advance. /b. -------------------- Binod Taterway LUBKT@vax1.CC.Lehigh.EDU User Consultant LUBKT@spectrum.CC.Lehigh.EDU Lehigh University, Beth, PA. (215) 758-3984.
Re: A simple C-shell query.
Author: Leif Andersson
Date: Sun, 18 Nov 1990 14:22
Date: Sun, 18 Nov 1990 14:22
69 lines
3242 bytes
3242 bytes
>>>>> On 16 Nov 90 19:26:46 GMT, lubkt@vax1.cc.lehigh.edu said:
lubkt> Here is a C-shell query:
[stuff deleted]
lubkt> You might get an idea, if I tell you its application. I have TeX
lubkt> compiled under SunOS. I do not to define all the environment variables
lubkt> (variables set using setenv) for all users, only those who want to use
lubkt> tex, by enter, say, "use tex", where "use" is a C-shell script which
lubkt> takes "tex" as its parameter. Having a general script like this will
lubkt> permit "use" to be as generic as possible.
The solution we use to exactly this problem involves one alias and one
source'd script, but I still think it works quite well. The alias is:
alias setup 'set setup=(\!*);source /usr/local/lib/setup.csh'
This line is put in each user's .cshrc or in a common file sourced by .cshrc.
The script referred to in the alias follows my signature. A user
wanting to use TeX puts the command "setup tex" in his .login or
gives it interactively.
The system administrator puts in more "if ($setup[1] == whatever) then"
statements in the setup file when new software packages arrive, and
we thus have a unified approach to selecting environment variables.
-------------------------------------------------------------------------------
Leif Andersson Internet: leif@Control.LTH.Se
Dept. of Automatic Control Bitnet: BODELA@SELDC51
Lund Institute of Technology Phone: +46 46 109742
P.O. Box 118 Fax: +46 46 138118
S-221 00 Lund, Sweden
-------------------------------------------------------------------------------
# SETUP --
while (${#setup} != 0)
if ($setup[1] == tex) then
set TEX=/usr/local/tex
if ($?MYTEXINPUTS == 0) then # The user gets his own path appended.
setenv MYTEXINPUTS .
endif
setenv TEXSYSINPUTS $TEX/inputs:$TEX/inputs/bibtex
setenv TEXINPUTS $MYTEXINPUTS\:$TEXSYSINPUTS
setenv TEXFORMATS $TEX/formats
setenv TEXFONTS $TEX/fonts:$TEX/fonts/vftfm
else if ($setup[1] == metafont) then
set TEX=/usr/local/tex
setenv MFSYSINPUTS $TEX/mf/inputs:$TEX/mf/cm
setenv MFINPUTS .:$MFSYSINPUTS
setenv MFBASES $TEX/formats
else if ($setup[1] == ssim) then
setenv GPPATH "/usr/local/ssim/Src/lib"
else if ($setup[1] == basile) then
setenv BASILE_DIR "/usr/local/basile"
else if ($setup[1] == muse) then
setenv ELIBDIR /sperry/muse/lib/emacs
setenv EMACS /sperry/muse/bin/emacs
setenv EPATH $ELIBDIR/maclib
else
echo "Unknown setup: $setup"
endif
shift setup
end # while
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads