pushd and popd


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers pushd and popd
# 1  
Old 04-29-2010
pushd and popd

I'm learning about pushd and popd, and the section in my book defines them as functions to put in the .profile file, but I've noticed that the commands obviously already exist. I was wondering -- how do I find out where these commands are? Is there some kind other command/series of commands I can use to find out where these files are on my system?
# 2  
Old 04-29-2010
Hi.

pushd and popd are shell built-ins available in bash and csh and possibly other shells (but afaik, not ksh). It's unlikely that you will find these "files" anywhere on your system.

If they are not available in the shell you are using, you could simulate them using functions in your .profile as your book suggests.
Code:
man builtin
man pushd

# 3  
Old 05-10-2010
Okay, here are the two functions for pushd and popd:

Code:
DIRSTACK=""
export DIRSTACK
pushd ()
{ 
      dirname="$1"
      DIRSTACK="$dirname ${DIRSTACK:-$PWD' '}"
      cd ${dirname:?"missing directory name."}
      echo $DIRSTACK"

popd ()
{
     DIRSTACK=${DIRSTACK#* }
     cd ${DIRSTACK%% *}
     echo "$PWD"
}

When I try popd I get a message saying that the last directory pushed onto the stack I get message saying "No such file or directory," Even though I'm in that directory. I don't know what's going on. Can anyone help me?

The book is "learning the bash shell, third edition," if that helps.


Moderator's Comments:
Mod Comment Please use code tags!

Last edited by radoulov; 05-10-2010 at 06:19 PM..
# 4  
Old 05-10-2010
That implementation of pushd/popd definitely isn't going to work for directories with spaces. And adds directories to the stack even when the directory does not exist. And if you have them already, you don't need them in your profile at all. What shell are you using?
# 5  
Old 05-11-2010
I'm using the bash shell.
# 6  
Old 05-11-2010
You don't need them in your profile at all.
# 7  
Old 05-11-2010
In other words - you already have them - they are part of bash.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pushd popd

Howdy, I'm working through the book LEARN PYTHON THE HARD WAY, Appendix: Command Line Crash Course. I got to wondering if pushd and popd are really ever used all that much? Thank you for your insights, DN (4 Replies)
Discussion started by: danuke
4 Replies

2. Shell Programming and Scripting

Pushd Popd and Dirs History?

Hello everyone, finally made these commands working, but I don't know how ti implement the history command for this utility? Anyone? Please please (28 Replies)
Discussion started by: iennetastic
28 Replies

3. UNIX for Dummies Questions & Answers

Shell script for for pushd function

I'm looking at a script for a pushd function in my bash book: DIRSTACK="" export DIRSTACK pushd () { dirname=$1 DIRSTACK="$dirname ${DIRSTACK:-$PWD' '}" cd ${dirname:?"missing directory name."} echo "$DIRSTACK" } Wanted to ask if someone could explain what's... (0 Replies)
Discussion started by: Straitsfan
0 Replies

4. UNIX for Dummies Questions & Answers

Pushd commands features

Hi All, im using pushd and popd as below , but im getting different results, it is not consistent. pushd <DIR> pkzip <ZIP FILE NAME> * popd echo " Hi" it is going into the DIR as expected and while zipping it, in between it got suspended by itself and executed the remaining step... (1 Reply)
Discussion started by: rithu
1 Replies

5. UNIX for Dummies Questions & Answers

pushd and popd

This question is related to pushd and popd. After I have pushed directories, I would like to see what are the contents of the stack currently before I execut e popd. The reason is that many a times we forget (or can get confused when multiple shells are open) what we pushed and would like to first... (4 Replies)
Discussion started by: sharanbr
4 Replies

6. Shell Programming and Scripting

pushd popd

Are there any arguments for 'pushd' and 'popd' so that it wont output the whole stack to the screen everytime i call the commands? (1 Reply)
Discussion started by: owijust
1 Replies

7. UNIX for Dummies Questions & Answers

pushd/popd missing on SGI irix 6.5.11

I know that pushd/popd are built into csh, but I'm trying to run a set of 3rd party make files that use sh. My problem is that sh simply squawks that pushd and popd are not found, then the make dies due to the error. I've searched the entire system, and they are indeed missing. Evidently SGI... (3 Replies)
Discussion started by: jbalster
3 Replies

8. UNIX for Dummies Questions & Answers

pushd?

Hello Can someone tell me difference between the command cd an pushd? I dont get it! :( Greets Marcus (3 Replies)
Discussion started by: Fwurm
3 Replies
Login or Register to Ask a Question