07-09-2009
I agree. Using relative paths for the PATH variable is a poor way of handling it.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hello
On Debian Lenny, I first ran apt-get install git-core and then removed it to install from source. The trouble is that when I typed git --version, I am get:
-bash: /usr/bin/git: No such file or directory
of course, git is now in /usr/local/bin
I don't understand why since... (1 Reply)
Discussion started by: JCR
1 Replies
2. UNIX for Advanced & Expert Users
Is there something which is an alternative to the variable LD_LIBRARY_PATH?
The behaviour of this variable is that the path specified here will be checked before checking usual paths. But I want to have some folders checked for shared libraries after the usual paths. i.e usual paths have to... (3 Replies)
Discussion started by: bbala
3 Replies
3. UNIX for Dummies Questions & Answers
Hello,
I logged in to the unix solaris with my user name and then I again logged in with the sudo bash -l command
now when I do echo $PATH
It shows me => /usr/bin:/usr/local/bin:/usr/bin/usr/sbin:/usr/ucb:/usr/local/bin
How do i find out where is this file located for setting the... (3 Replies)
Discussion started by: siddhans
3 Replies
4. Shell Programming and Scripting
This is weirdly a linux question I suppose.
Im having a problem with this code the file path is fine if I don't use the ~ and put in the user /Users/tempuser/....
This will be installed on more than one computer and changing the plist for every install is going to become tedious.
Is there... (1 Reply)
Discussion started by: digitalviking
1 Replies
5. UNIX for Dummies Questions & Answers
Hi guys,
In Windows, whenever I want a execute a program using just a relative path on the command prompt, I simply edit the 'Path' variable and append my parent directory.
Is there something like this available in Unix? I have a binary for Virtualbox called VBoxManage that I want to execute... (6 Replies)
Discussion started by: silverdust
6 Replies
6. UNIX for Dummies Questions & Answers
I use the following command to print the current directory above the command prompt
set prompt="`exec pwd`\n$USER@`hostname -s` %B: % > "
The output is something like this
<current path>
$USER@hostname >
But when I try to CD to any other directory and press the return key, the... (6 Replies)
Discussion started by: aelhosiny
6 Replies
7. Shell Programming and Scripting
Greetings Experts,
I need to pass a parameter to ksh and the value is windows path eg: sh abc.txt C:\Users\chill3chee\Desktop
No matter I try with \ delimiter, still could not get this exact value assigned to the shell variable which was checked with echo. Tried with using... (2 Replies)
Discussion started by: chill3chee
2 Replies
8. UNIX for Beginners Questions & Answers
Hello,
I am on a Mac and trying to clean up some monthly files with a very simple SED:
sed '3,10d;/<ACROSS>/,$d' input.txt > output.txt
(from the input, delete lines 3 - 10; then delete from the line containing <ACROSS> to the end of the file)
then output to output.txt
Even when I try... (2 Replies)
Discussion started by: verbatim
2 Replies
9. AIX
Hello,
I have encountered the issue on my AIX 6.1. As you can see below, the hdisk1 & hdisk8 are not recognized by the system
/ > lspv
hdisk0 00fa6d1288c820aa rootvg active
hdisk1 00fa6d1288c8213c None
hdisk2 ... (9 Replies)
Discussion started by: Phat
9 Replies
10. Linux
Hi All,
Is there anyone encounter filenaming with Ñ or ñ reading?.
Is the any other way to handle enye both redhat environment and java?
We look in the log and founfout reading pathname or filename with enye Ñ, look like MONTA?O instead of MONTAÑO.
We tried to transfer files from my windows... (4 Replies)
Discussion started by: lxdorney
4 Replies
LEARN ABOUT DEBIAN
envpath
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)