Sponsored Content
Top Forums Shell Programming and Scripting Appending a path in user's PATH variable Post 302500901 by vibhor_agarwali on Wednesday 2nd of March 2011 01:59:56 AM
Old 03-02-2011
Appending a path in user's PATH variable

Hello Folks,

I want to append a path in user's PATH variable which should be available in current session.

Background
Numerous persons will run a utility.
Aim is to add the absolute path of the utility the first time it runs so that next runs have the PATH in env & users can directly run the utility without giving the absolute path.
Appended PATH should exist in the user's current session.

Where i got stuck
Shell scripts run as a separate process, hence, variables set there won't be accessible to parent shell.
We can use "." or "source" for the same.

These constructs are different for different shells.
Since the users are quite big chances of them running different shells is quite high.

This fails my run with . or source.

How to determine user's shell
echo $SHELL
This gives the developers shell. I changed my shell to different but the SHELL variable still gives the older shell value.
Hence, unable to determine the shell as well.

Please let me know how to achieve this.
Thanks in advance
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Executing Commands From Non-Standard Path (Changing user's PATH secretely???)

Hi: I have a requirement as below: I have some standard Unix commands modified and kept them in a directory say /usr/clsh/bin. For example I have a script named "ls" kept here which is modified version of "ls" (say it always gives long listing i.e. ls -l). When any user logs on and types... (2 Replies)
Discussion started by: ramesh_samane
2 Replies

2. Shell Programming and Scripting

remove a path from PATH environment variable

Hi I need a script which will remove a path from PATH environment variable. For example $echo PATH /usr/local/bin:/usr/bin:test/rmve:/usr/games $echo rmv test/rmve Here I need a shell script which will remove rmv path (test/rmve) from PATH... (9 Replies)
Discussion started by: madhu84
9 Replies

3. Shell Programming and Scripting

one liner to extract path from PATH variable

Hi, Could anyone help me in writing a single line code by either using (sed, awk, perl or whatever) to extract a specific path from the PATH environment variable? for eg: suppose the PATH is being set as follows PATH=/usr/bin/:/usr/local/bin:/bin:/usr/sbin:/usr/bin/java:/usr/bin/perl3.4 ... (2 Replies)
Discussion started by: royalibrahim
2 Replies

4. Shell Programming and Scripting

absolute path for a script ran with relative path

I have a script in which i want to print absolute path of the same script irrespective of path from where i run script. I am using test.sh: echo "pwd : `pwd`" echo "script name: $0" echo "dirname: `dirname $0`" when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Discussion started by: rss67
10 Replies

5. Shell Programming and Scripting

Path a variable to sed that includes a path

Hi I'm trying to select text between two lines, I'm using sed to to this, but I need to pass variables to it. For example start="BEGIN /home/mavkoup/data" end="END" sed -n -e '/${start}/,/${end}/g' doesn't work. I've tried double quotes as well. I think there's a problem with the / in the... (4 Replies)
Discussion started by: mavkoup
4 Replies

6. Shell Programming and Scripting

Moving files from parent path to multiple child path using bash in efficient way

Hi All, Can you please provide some pointers to move files from Base path to multiple paths in efficient way.Folder Structure is already created. /Path/AdminUser/User1/1111/Reports/aaa.txt to /Path/User1/1111/Reports/aaa.txt /Path/AdminUser/User1/2222/Reports/bbb.txt to... (6 Replies)
Discussion started by: karthikgv417
6 Replies

7. Shell Programming and Scripting

Generate class path dynamically based on source path

Hi experts, I have multiple file names ending with .jsp located in $SOME_DIR, $SOME_DIR/f1/,$SOME_DIR/f2/test,$SOME_DIR/f3/fa and there are equivalent class files in $SOME_DIR/WEB-INF/classes/_pages,$SOME_DIR/WEB-INF/classes/_pages/_f1,... (0 Replies)
Discussion started by: oraclermanpt
0 Replies

8. UNIX for Advanced & Expert Users

Command to see the logical volume path, device mapper path and its corresponding dm device path

Currently I am using this laborious command lvdisplay | awk '/LV Path/ {p=$3} /LV Name/ {n=$3} /VG Name/ {v=$3} /Block device/ {d=$3; sub(".*:", "/dev/dm-", d); printf "%s\t%s\t%s\n", p, "/dev/mapper/"v"-"n, d}' Would like to know if there is any shorter method to get this mapping of... (2 Replies)
Discussion started by: royalibrahim
2 Replies

9. UNIX for Beginners Questions & Answers

Convert Relative path to Absolute path, without changing directory to the file location.

Hello, I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies

10. Programming

Makefile missing include path Although the path exists and defined

i have make file which i try to make them generic but it keeps to compline it missing include directory this is the makefile : CXX=g++ CPPFAGS= -Wall -O0 -g -std=c++14 INCLUDES = -I/home/vagrant/libuv/include -Isrc LIBS_DIRS = -L/home/vagrant/libuv/build LDFLAGS=... (7 Replies)
Discussion started by: umen
7 Replies
SU(1)								   User Commands							     SU(1)

NAME
su - run a command with substitute user and group ID SYNOPSIS
su [options...] [-] [user [args...]] DESCRIPTION
su allows to run commands with substitute user and group ID. When called without arguments su defaults to running an interactive shell as root. For backward compatibility su defaults to not change the current directory and to only set the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). It is recommended to always use the --login option (instead it's shortcut -) to avoid side effects caused by mixing environments. This version of su uses PAM for authentication, account and session management. Some configuration options found in other su implementa- tions such as e.g. support of a wheel group have to be configured via PAM. OPTIONS
-c command, --command=command Pass command to the shell with the -c option. --session-command=command Same as -c but do not create a new session (discouraged). -f, --fast Pass -f to the shell which may or may not be useful depending on the shell. -g, --group=group specify the primary group, this option is allowed for root user only -G, --supp-group=group specify a supplemental group, this option is allowed for root user only -, -l, --login Starts the shell as login shell with an environment similar to a real login: o clears all environment variables except for TERM o initializes the environment variables HOME, SHELL, USER, LOGNAME, PATH o changes to the target user's home directory o sets argv[0] of the shell to '-' in order to make the shell a login shell -m, -p, --preserve-environment Preserves the whole environment, ie does not set HOME, SHELL, USER nor LOGNAME. The option is ignored if the option --login is specified. -s SHELL, --shell=SHELL Runs the specified shell instead of the default. The shell to run is selected according to the following rules in order: o the shell specified with --shell o The shell specified in the environment variable SHELL if the --preserve-environment option is used. o the shell listed in the passwd entry of the target user o /bin/sh If the target user has a restricted shell (i.e. not listed in /etc/shells) the --shell option and the SHELL environment variables are ignored unless the calling user is root. --help Display help text and exit. --version Display version information and exit. CONFIG FILES
su reads the /etc/default/su and /etc/login.defs configuration files. The following configuration items are relevant for su(1): FAIL_DELAY (number) Delay in seconds in case of authentication failure. Number must be a non-negative integer. ENV_PATH (string) Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (string) ENV_SUPATH (string) Defines the PATH environment variable for root. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (boolean) If set to yes and --login and --preserve-environment were not specified su initializes PATH. EXIT STATUS
su normally returns the exit status of the command it executed. If the command was killed by a signal, su returns the number of the signal plus 128. Exit status generated by su itself: 1 Generic error before executing the requested command 126 The requested command could not be executed 127 The requested command could was not found FILES
/etc/pam.d/su default PAM configuration file /etc/pam.d/su-l PAM configuration file if --login is specified /etc/default/su command specific logindef config file /etc/login.defs global logindef config file SEE ALSO
runuser(8), pam(8), shells(5), login.defs(5) AUTHOR
Derived from coreutils' su which was based on an implementation from David MacKenzie. AVAILABILITY
The su command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils/util- linux/>. util-linux June 2012 SU(1)
All times are GMT -4. The time now is 10:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy