From owner-freebsd-questions@FreeBSD.ORG Wed Mar 7 16:20:35 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1D52816A404 for ; Wed, 7 Mar 2007 16:20:35 +0000 (UTC) (envelope-from youshi10@u.washington.edu) Received: from mxout2.cac.washington.edu (mxout2.cac.washington.edu [140.142.33.4]) by mx1.freebsd.org (Postfix) with ESMTP id EF57713C47E for ; Wed, 7 Mar 2007 16:20:34 +0000 (UTC) (envelope-from youshi10@u.washington.edu) Received: from smtp.washington.edu (smtp.washington.edu [140.142.32.139]) by mxout2.cac.washington.edu (8.13.7+UW06.06/8.13.7+UW06.09) with ESMTP id l27GKY4E018233 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 7 Mar 2007 08:20:34 -0800 X-Auth-Received: from [192.168.10.41] (c-67-187-172-183.hsd1.ca.comcast.net [67.187.172.183]) (authenticated authid=youshi10) by smtp.washington.edu (8.13.7+UW06.06/8.13.7+UW06.09) with ESMTP id l27GKXje030361 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Wed, 7 Mar 2007 08:20:34 -0800 Message-ID: <45EEE64E.7040305@u.washington.edu> Date: Wed, 07 Mar 2007 08:20:30 -0800 From: Garrett Cooper User-Agent: Thunderbird 1.5.0.9 (X11/20070122) MIME-Version: 1.0 To: freebsd-questions@freebsd.org References: <821143.79253.qm@web62215.mail.re1.yahoo.com> In-Reply-To: <821143.79253.qm@web62215.mail.re1.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version: 5.3.0.289146, Antispam-Engine: 2.5.0.283055, Antispam-Data: 2007.3.7.80933 X-Uwash-Spam: Gauge=IIIIIII, Probability=7%, Report='LEO_OBFU_SUBJ_RE 0.1, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __USER_AGENT 0' Subject: Re: Setting Env X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2007 16:20:35 -0000 Drew Jenkins wrote: >>> ----- Original Message ---- >>> From: Jerry McAllister >>> To: Drew Jenkins >>> Cc: freebsd-questions@freebsd.org >>> Sent: Tuesday, March 6, 2007 7:46:26 PM >>> Subject: Re: Setting Env >>> >>>> If you want the environment variable to >>>> be set for something that is taking place in the script, then >>>> that variable must either be set in a durable way in the parent >>>> environment or be set right there in the script that is using it. >>>> The rc.conf method will make it available from the parent. >>>> That is the whole point of rc.conf. >>> Right. I figured that much. So, what do I actually put in that file? I >>> tried these two options: >>> >>> setenv LD_LIBRARY_PATH /usr/local/lib/mysql/ >>> >>> export LD_LIBRARY_PATH="/usr/local/lib/mysql/" >>> >> Well, setenv is a csh or tcsh command and isn't in sh and probably >> not in bash either (I haven't used bash). >> > > I am aware of that. I was trying to explain how I used every_possible_combination of things I could think of! > >> The export command is an sh and probably bash command and it >> doesn't exist in csh or tcsh. >> > > Yes, yes. I know. > >>> It didn't like either, presumably because it's not calling a bash or c-shell. >>> So, what should I put in /etc/rc.conf that will achieve my objective? >> Look at other variable setting in rc.conf. That should give you >> a good clue. For example, in my rc.conf I have several. One is: >> moused_enable="YES" >> That makes the moused_enable variable have a value of YES. >> So, if you want LD_LIBRARY_PATH to have the value of /usr/local/lib/mysql/ >> might that not be: >> LD_LIBRARY_PATH="/usr/local/lib/mysql/" >> > > I tried that and posted yesterday that that failed. > >> If you put it in the script that starts things - there needs to be one - >> then it depends on the script language, csh/tcsh sh/bash. >> csh/tcsh use setenv and set >> sh [and bash] use set and variable_name=value and needs an export to >> make it available to other entities besides the shell itself. >> You should look up the man pages on these things and take a look >> at some other scripts such as those in /usr/local/etc/rc.d for >> examples. > > What *things*? As far as scripts, this *should* be easy... > > #!/bin/csh > setenv LD_LIBRARY_PATH /usr/local/lib/mysql/ > > ...right? It doesn't work. Any other ideas? > Drew It probably gets overwritten somewhere later on down the line. Also, something to the effect like the following is better for portability reasons: #!/bin/sh if [ -n "$LD_LIBRARY_PATH" ] ; then export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib/mysql" else export LD_LIBRARY_PATH="/usr/local/lib/mysql" fi # run mysql junk here..