$PWD vs `pwd`


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers $PWD vs `pwd`
# 1  
Old 01-17-2012
$PWD vs `pwd`

Hi,

can anyone expalin the real importance of PWD as a variable.
However pwd command and $PWD is going to give the same result, then why do we have 2 different things.
Please give some example which illustrates the difference between both.

Thanks
# 2  
Old 01-17-2012
Hi,
Both are same w.r.t functionality , This variable points to the current directory

But $PWD is an environmental variable which can be used to set to a particular session/shell /script

Working principles of environment variables

A few simple principles govern how environment variables BY INSTALLING, achieve their effect.

Local to process

Environment variables are local to the process in which they were set. That means if we open two terminal windows (Two different processes running shell) and change value of environment variable in one window, that change will not be seen by other window.

Inheritance
When a child process is created, it inherits all the environment variables and their values from the parent process. Usually, when a program calls another program, it first creates a child process by forking, then the child adjusts the environment as needed and lastly the child replaces itself with the program to be called. This procedure gives the calling program control over the environment of the called program.

Case sensitive
In Unix and Unix-like systems the names of environment variables are case sensitive.
Persistence
Environment variables persistence can be session-wide or system-wide.

thanks,
venkat
# 3  
Old 01-17-2012
It is interesting that the Shell built in command "pwd" agrees with the Shell Environment Variable "$PWD" but there are circumstances where and external "pwd" command may disagree in some versions of unix.

Code:
ls -lad /usr/spool
lrwxr-xr-t   1 root       sys             10 Aug 16  2000 /usr/spool -> /var/spool

cd /usr/spool

pwd
/usr/spool

pwd -P
/var/spool

echo $PWD
/usr/spool

/usr/bin/pwd
/var/spool


Last edited by methyl; 01-17-2012 at 10:10 AM.. Reason: layout
This User Gave Thanks to methyl For This Post:
# 4  
Old 01-17-2012
Thanks Methyl!!
As a general rule , we can have:
a)pwd returns the current absolute path
b)Whereas $PWD returns the path including the symbolic links.
Correct me if i am incorrect.
Thanks
# 5  
Old 01-17-2012
Your answers do not tie up with my test results.
You are usually not using a unix system. Why not try it on your system and see what happens.
# 6  
Old 01-18-2012
Sure Methyl.There's no difference in my ubuntu.Both returns same result.
May i know in which OS you tested?
Code:
pandeeswaran@ubuntu:~/lnktraining$ ls -lad /home/pandeeswaran/lnktraining
lrwxrwxrwx 1 pandeeswaran pandeeswaran 27 2012-01-17 23:06 /home/pandeeswaran/lnktraining -> /home/pandeeswaran/training
pandeeswaran@ubuntu:~/lnktraining$ pwd
/home/pandeeswaran/lnktraining
pandeeswaran@ubuntu:~/lnktraining$ echo $PWD
/home/pandeeswaran/lnktraining
pandeeswaran@ubuntu:~/lnktraining$ cd ..
pandeeswaran@ubuntu:~$ cd training
pandeeswaran@ubuntu:~/training$ pwd
/home/pandeeswaran/training
pandeeswaran@ubuntu:~/training$ echo $PWD
/home/pandeeswaran/training
pandeeswaran@ubuntu:~/training$

# 7  
Old 01-18-2012
Look closer at my post. The differences I saw were with these commands:
Code:
pwd -P
/usr/bin/pwd

I'd be interested to know if Ubuntu behaves the same way as unix. My test was with HP-UX but I have seen the effect on other unixes.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

$pwd

Hi all,when I cd to an environment variable "cd $MYDIR, if I type pwd, I don't the path to the environment variable dir I cd to. Appreciate the help, regards..Abbya (5 Replies)
Discussion started by: abbya
5 Replies

2. Shell Programming and Scripting

Help with 'pwd' command

Dear all, I am trying to use 'pwd' command in following way. current_directory == /dirA/dirB/test/dirC if ; then do this fi I am not sure how to pass this in command way. Please help! thanking you, emily (10 Replies)
Discussion started by: emily
10 Replies

3. UNIX for Dummies Questions & Answers

pwd help

Dear users, One more question, In unix when i use pwd the following I get: pwd /Users/username/src/directory name Is there a way to get the out put like this in which the if there is a space in the directory eg directory name it should show as directory\ name:... (2 Replies)
Discussion started by: kevincobain2000
2 Replies

4. AIX

sync samba pwd with aix5.3 pwd

currently, my samba login works just fine. i want my clients to use aix5.3 account to login to samba so they don't have to change samba pwd and aix pwd. i googled, and vi /usr/lib/smb.conf per some of knowledge base, but i could not get to work. aix5.3 and samba 3.0.24.0 thanks in advace..... (2 Replies)
Discussion started by: tjmannonline
2 Replies

5. UNIX for Dummies Questions & Answers

PWD COMMAND

Hi, Can you tell me if there is a command such as pwd which does not give me the absolute NFS pathname i.e. it starts with .autofs? At the moment on the unix when I use the 'pwd' command it always gives me the nfs pathname rather thanthe local pathname of which is what i want, is there an... (4 Replies)
Discussion started by: cyberfrog
4 Replies

6. UNIX for Dummies Questions & Answers

how to connect to /etc/pwd

i've been searching the way to connect to pwd.db file located in /etc/ directory.. since i'm not the root and only one of the users of the server, i need to connect to the database so that i can make a login page for all users of the server.. the file is readable by all users and the permission... (1 Reply)
Discussion started by: meggae
1 Replies

7. UNIX for Advanced & Expert Users

console '# ' with {PWD} ??

Hi people... i recently installed AIX 5.3 on a server... but now when i login with root it only shows '# ' without the location where i am... for example: if im in /usr/local it continues to show only '# ' and i want to see the path like 'root@server:/usr/local#' someone can help me? ... (2 Replies)
Discussion started by: gfca
2 Replies

8. UNIX for Advanced & Expert Users

echo ${PWD#${PWD%/*/*}/}

Can anyone explain this in detail ... echo ${PWD#${PWD%/*/*}/} Thanks in Advance (1 Reply)
Discussion started by: sakthi.abdullah
1 Replies

9. UNIX for Dummies Questions & Answers

pwd

Home directory mounted on one local system as /home/username, same directory mounted on a remote system as /home/engr/username. How to use command to use remote host pwd. For example rsh <remote host> ls -l ~pwd (2 Replies)
Discussion started by: bugsandbunny
2 Replies

10. Shell Programming and Scripting

help on PWD

Hi, We all know that pwd (or echo $PWD) gives us the present working dir as output.... but my doubt is that I'ld like to know how to get the present working folder - I mean - name of the current folder alone.. using pwd command I get the full folder name (right from root path)... I need to know... (2 Replies)
Discussion started by: mohanprabu
2 Replies
Login or Register to Ask a Question