Sponsored Content
Homework and Emergencies Emergency UNIX and Linux Support Problem setting environment variables from script Post 302464157 by DGPickett on Tuesday 19th of October 2010 11:50:08 AM
Old 10-19-2010
Quote:
Originally Posted by arunprasathj
This also will work

#!/bin/sh
export DESKTOP=$DESKTOP:/home/rrodrigues/Desktop
Not in my sh!
Code:
http://www.informatik.uni-frankfurt.de/doc/man/hpux/sh-bourne.1.html
 
      export [name ...]   The given names are marked for automatic export to
                          the environment of subsequently-executed commands.
                          If no arguments are given, a list of names
                          currently included in the environment are printed.
                          Function names cannot be exported.

The classic error is to run the environment script normally, as a child, and then only that child and its children get to see it, but then that child and its children end and the parent and next child are unaffected.

The trick is that after you set a variable, only you see it, but when you export the variable, the receiving process will be your child. The ". myscript" sourcing above runs the script in the current shell so it affects you and your children.

Scripts pathed $HOME/.(shell_name)rc like ~/.kshrc and ~/.bashrc are run automatically as the ksh or bash process comes to life, which is nice but excessively often, as script calls script after script. The bourne shell sh only uses ~/.profile, but for that reason and the superset offered in ksh, few people use it interactively. Other shell programs run ~/.profile once for the login shell only.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

setting environment variables ???

Hello, I want to set some environment variables with this script: ip=$@ echo Remote Computer: $ip PERLDB_OPTS="CallKomodo=$ip:9000 RemotePort=$ip:9010 PrintRet=0" export PERLDB_OPTS PERL5LIB=/opt/komodo export PERL5LIB echo PERLDB_OPTS: $PERLDB_OPTS echo PERL5LIB: $PERL5LIB But it... (5 Replies)
Discussion started by: Gargamel
5 Replies

2. Shell Programming and Scripting

Setting up Environment Variables

Hi all, I am trying to set up some variables in a shell script. The variables contain values of various paths needed to run a java module. The problem is the variables dont seem to be setting at all. here is what i am trying to do : JAR_HOME=/home/was5/bdcms/scheduledjobs/lib export... (6 Replies)
Discussion started by: rpandey
6 Replies

3. Shell Programming and Scripting

Setting environment variables in Makefile

I've seen a few other threads like this, but they either went unanswered or failed to answer my question. How do I set an environment variable in a Makefile? What I'm trying to do is use GNU make to automate an ant build. In order to run ant, I've got to first set a few environment... (1 Reply)
Discussion started by: Bags
1 Replies

4. Solaris

Setting environment variables within cron jobs!!

Is it possible to use environment variables within cron jobs. I am using a cron job to run a c program at regular intervals. The C program uses a library and i have set the library path in the LD_LIBRARY_PATH environment variable. But when i ran the job i got the error library not found!! Any... (1 Reply)
Discussion started by: atheek
1 Replies

5. Shell Programming and Scripting

Help in Setting Environment variables in TCSH

Hello All, I am writing a script to set some environment variables which are required for a particular application. I understand that the environment variables set by Shell script can, at the max, be valid for the session. They will have to be set again once the session is closed and re-opened.... (1 Reply)
Discussion started by: kssandeep
1 Replies

6. UNIX for Dummies Questions & Answers

Need help with setting up environment variables

hi all, I would appreciate if some one could explain me the difference between setting up the variables as shown below HOME=${HOME:-"/home/user1"} HOME=/home/user1 (1 Reply)
Discussion started by: SSSB
1 Replies

7. UNIX for Dummies Questions & Answers

Setting Environment Variables

#!/bin/bash if ; then ASS1_DATA_DIR=./ echo $ASS1_DATA_DIR export ASS1_DATA_DIR echo "data dir" fi if ; then ASS1_OUTPUT_DIR=./ export ASS1_OUTPUT_DIR fi I want to create a new environment variable ASS1_DATA_DIR and ASS1_OUTPUT_DIR in bash and set them to the current... (4 Replies)
Discussion started by: bigubosu
4 Replies

8. UNIX for Dummies Questions & Answers

Setting up environment variables

Hi all, This is my first post here. I need to set up a few environment variables with a shell script. Some are hard-coded, but some should come from other commands or as input from the user. How do I do that? For example, I need to export a variable as such: export DISPLAY=127.0.0.1:8.0 ... (2 Replies)
Discussion started by: exchequer598
2 Replies

9. Shell Programming and Scripting

setting environment variables with space

Hi, I'm having problems setting environment variable that has space value. Below is my shell script. export LINE=$@ TO=`echo $LINE | awk '{print $1}'` CC=`echo $LINE | awk '{print $2}'` BC=`echo $LINE | awk '{print $3}'` echo "TO=$TO" echo "CC=$CC" echo "BC=$BC" echo "1=$1" echo... (5 Replies)
Discussion started by: adshocker
5 Replies

10. Shell Programming and Scripting

Setting environment variables from a file :

Hi, I have around 10 environment variables in my shell script. i want to set this all in a file and just call that file in my shell script. How can i do that ? Please help. TIA! (6 Replies)
Discussion started by: qwertyu
6 Replies
nice(1) 						      General Commands Manual							   nice(1)

NAME
nice - run a command at nondefault priority SYNOPSIS
command [command_args] command [command_args] DESCRIPTION
The command executes command at a nondefault CPU scheduling priority. (The name is derived from being "nice" to other system users by run- ning large programs at lower priority.) Arguments The command-line arguments are as follows: priority_change The difference between the system nice value (relative priority) of the current (or parent) process and the actual system nice value at which command is to run. An unsigned value increases the system nice value for command, causing it to run at lower priority. A negative value requires superuser privileges, and assigns a lower system nice value (higher priority) to command. If the current process is not privileged, the value is silently treated as if it were 0. If the value of priority_change would result in a system nice value outside the range 0 through 39, the correspond- ing limit value of 0 or 39 is used instead. Note that a positive priority_change (lower priority) has a single option character before the numeric value; a neg- ative (higher priority) priority_change has two: the option character followed by the minus sign If is not speci- fied, it defaults to command A program, HP-UX command, user shell script, etc. to be executed at the nondefault priority. command can be run as a foreground or background process. If command is run as a background process, any nice priority_change made by the shell executes all background pro- cesses via is in addition to that specified in the command line. command_args Any arguments recognized by command. Process Priorities All processes have an associated system nice value which is used to compute the instantaneous-priority of the process when it is scheduled to run. Normally, all processes inherit the system nice value of their parent process when they are spawned. The shell etc.) can create a child process with a different priority from the current shell process by spawning the child process via the command. If the prior- ity_change value is unsigned (positive), the child process is nicer (lower in priority) relative to the parent. If the priority_change value is negative, the child process runs at a higher priority with a greater share of available system resources. To spawn a higher pri- ority child process, the parent process must be owned by a user who has the appropriate privileges. At boot-up, the system starts the process at a system nice value of 20 (system default). On most systems, all processes (down to the login shells) inherit this priority. Starting from their individual login shell processes, users can alter the system nice value of descendent processes to as much as 39, or, with appropriate privileges, as little as 0. A system nice value of 0 establishes an extremely high prior- ity, whereas a value of 39 indicates a very low priority. Ordinary users can only increase the system nice value of any child process relative to the current process; i.e., priority_change must be a positive (unsigned) value, resulting in a lower priority. To start a child process at a lower system nice value (higher priority) than the current process, the user must have the appropriate privileges, regardless of the relative nice-priority value desired. For example, using the command from a login shell whose current nice value is 20 spawns a subshell with a system nice value of 30. Attempting to use from the new shell to spawn another subshell whose system nice value would be 28, is rejected (unless the user has appropriate privileges), even though the resulting system nice value would be less than the priority of the original login shell process. The system nice value for current processes is listed under the column produced by the command (see ps(1)). Background Processes Foreground processes are run at same system nice value as the parent shell. Background processes spawned by run at the equivalent of a by default. If a background process is started via from any priority_change specified in the command is added to default Thus the command runs at a system nice value of 36 if executed from EXTERNAL INFLUENCES
Environment Variables determines the language in which messages are displayed. If is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty vari- able. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C". See environ(5). International Code Set Support Single- and multi-byte character code sets are supported. RETURN VALUE
returns the value returned by command. EXAMPLES
The following examples assume the current process is running with a system nice value of 20 and is executed from the Korn shell (see ksh(1)). Run a program named in the current directory at the default priority_change of 10 (system nice value of 30): Run the same program in the background using a system nice value of 36 (priority_change=12 plus 4 for the Korn shell): As a user with appropriate privileges, run as a foreground process with a system nice value of 6: WARNINGS
The C shell, has a built-in command with different syntax. See csh(1) for details. SEE ALSO
csh(1), ksh(1), nohup(1), sh-posix(1), sh(1), renice(1M), nice(2). STANDARDS CONFORMANCE
nice(1)
All times are GMT -4. The time now is 07:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy