Sponsored Content
Top Forums Shell Programming and Scripting remove a path from PATH environment variable Post 302361796 by madhu84 on Wednesday 14th of October 2009 06:26:27 AM
Old 10-14-2009
remove a path from PATH environment variable

Hi
I need a script which will remove a path from PATH environment variable. For example

Code:
$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 (/usr/local/bin:/usr/bin:test/rmve:/usr/games) and update the PATH as /usr/local/bin:/usr/bin:/usr/games

I have used the following line for this
Code:
PATH=$(echo $PATH | sed -e 's;:\?'$rmv';;' -e 's;'$rmv':\?;;')
export $PATH

This is working fine only in Linux but not in AIX or Sun or any other OS

Can someone please help me in this?

Thanks,
Madhu.

EDIT: Use [code] and [/code] tags when posting code, data or logs, ty.

Last edited by madhu84; 10-14-2009 at 07:40 AM.. Reason: code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How does the PATH and MANPATH environment variable get set?

Hi, How does the PATH and MANPATH environment variable get set? I want to add "/opt/SUNWspro/bin" to the search path for all the users. Where can I access this variable. I know in my home directory, depend on which shell I use, there are files such as .profile and .cshrc which I can edit to... (3 Replies)
Discussion started by: vtran4270
3 Replies

2. Shell Programming and Scripting

Path Environment Variable

Hi..... I'm kind of new to c programming in Unix...need help here. Supposed to write a source code to support Path environment variable for my programming assignment for Spring semester. but i'm kind of stuck. Could anyone out there assist me? prompt> /bin/ls My program could output... (3 Replies)
Discussion started by: tancy
3 Replies

3. Shell Programming and Scripting

:: in PATH environment variable

whats the meaning of :: colon in PATH environment? /usr/local/bin:/usr/bin:/usr/local/gnu/bin::.:/usr/local/bin:/usr/bin:/usr/local/gnu/bin:/usr/local/bin and whats the meaning of // in PATH ? (1 Reply)
Discussion started by: gfhgfnhhn
1 Replies

4. Shell Programming and Scripting

problem in getting the path of environment variable set in bashrc in my shell script

hi all i have joined new to the group. i have set an variable in my bashrc file. .bashrc PROGHOME=/home/braf/braf/prog export PROGHOME but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path. in my script... (8 Replies)
Discussion started by: krithika
8 Replies

5. UNIX for Dummies Questions & Answers

Path Environment

How do we change path environment? (2 Replies)
Discussion started by: mehmetned
2 Replies

6. 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

7. Shell Programming and Scripting

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... (6 Replies)
Discussion started by: vibhor_agarwali
6 Replies

8. 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

9. Ubuntu

PATH environment variable

PATH is an environment variable. When I open a terminal say terminal 1 and set some path in PATH variable it gets set which I can see using ech $PATH. But when I open a new terminal say terminal 2 and fire echo $PATH why cannot I see the same output as seen in terminal terminal 1? Why the path... (4 Replies)
Discussion started by: rupeshkp728
4 Replies

10. Shell Programming and Scripting

Function to remove the directories from PATH variable

Hello, From the URL https://www.unix.com/shell-programming-scripting/121303-remove-path-path-environment-variable-2.html I got a function to remove the directories from a path. but looks like this isnt quite working.. i am also not able to post the comments in the thread as it is closed. ... (6 Replies)
Discussion started by: satishkumar432
6 Replies
ENVPATH(1p)						User Contributed Perl Documentation					       ENVPATH(1p)

NAME
envpath - Advanced operations on path variables SYNOPSIS
Run this script with the "-help" option for usage details. DESCRIPTION
Parses the command line, modifies the specified path variable(s), and execs the remaining arguments. There are two modes, simple and advanced: SIMPLE MODE Simple mode presents an alternative, platform-independent syntax for specifying paths wherein the path separator is "," and environment variables can be expanded with @NAME@. For example envpath PATH=@PATH@,/usr/ucb -- printenv PATH appends "/usr/ucb" to $PATH and execs printenv PATH. The "--" is optional. You can also specify prepending or appending by using "+=" or "=+" respectively: # place /usr/ucb at the front envpath PATH+=/usr/ucb -- printenv PATH # place /usr/ucb at the back envpath PATH=+/usr/ucb -- printenv PATH Simple mode requires only this script; it does not require Env::Path to be installed. ADVANCED MODE Advanced mode basically provides command-line access to the features of Env::Path (see), which must be installed. The "-E" flag selects the path variable to operate on and other flags specify operations on it. E.g. envpath -E MANPATH -A /tmp -R /usr/share/man -N -U -- man ... would take MANPATH, append /tmp to it, remove any references to "/usr/share/man", remove any dirs which don't exist ("-N") and remove redundant entries ("-U") before running man. The -Whence option allows patterns. Thus envpath -W "cat*" would find all programs on PATH which match cat*. CLEARCASE WINKINS
A big part of the motivation for this script was for use with ClearCase builds; iff you know or care about ClearCase read on. Typically, during builds (and not just with ClearCase), pathvars such as PATH, CLASSPATH, and LD_LIBRARY_PATH must be strictly controlled. One choice is to force static values of these into the environment during the build process, another is to simply require/expect users to set their paths appropriately. Each of these can lead to subtle build or runtime errors, however, and makes it hard for new users to get up to speed since their personal environment must be just so. Another common choice is to use only full pathnames within the Makefile, avoiding reliance on search paths at all. This is often the best way to go but can suppress ClearCase winkins. For example, say you're generating ascii files of some type with a binary executable you just built: $(INCDIR)/foo.h: $(BINDIR)/foomaker $(BINDIR)/foomaker ... The problem with this is that $(BINDIR) likely contains a platform part such as 'solaris' or 'hpux', which makes it impossible to wink in the foo.h file on other platforms even though it's ascii. This same thing could come up even with a standard pre-built utility that's in different places on different platforms; "yacc", for instance, is in /usr/bin on Linux and /usr/ccs/bin on Solaris. You could modify the path on the fly: $(INCDIR)/foo.h: $(BINDIR)/foomaker PATH=$(BINDIR)$(SEP)$$PATH foomaker ... but this suffers from the same problem: since $(BINDIR) and $PATH are expanded literally within the build script they'll suppress winkins. Here's a solution using envpath: $(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PATH=@BINDIR@,@PATH@ foomaker ... This hides the evaluation of BINDIR and PATH such that clearmake never sees anything but the literals, thus clearing the field for winkins. Of course envpath is capable of doing more than this, but it's the original reason it was written. AUTHOR
David Boyce <dsbperl AT boyski.com> COPYRIGHT
Copyright (c) 2000-2001 David Boyce. All rights reserved. This Perl program is free software; you may redistribute and/or modify it under the same terms as Perl itself. SEE ALSO
perl(1), "perldoc Env::Path" perl v5.10.1 2003-10-10 ENVPATH(1p)
All times are GMT -4. The time now is 04:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy