How to find out the path that will be used in `cd

2019-07-27 04:54发布

问题:

I know that it is possible to use cd - to switch between 2 paths:

user@server:~$ cd a
user@server:~/a$ cd ~/b
user@server:~/b$ cd -
/home/user/a
user@server:~/a$ cd -
/home/user/b
user@server:~/b$

I want to use this feature to do something with the previous path. Maybe there is some variable that points to the previous path so I can do thins like:

user@server:~/a$ cd ~/b
user@server:~/a$ ls -d $PREVIOUS_PATH
/home/user/a
user@server:~/a$ cp file $PREVIOUS_PATH # will copy file to /home/user/a
user@server:~/b$ cd -

回答1:

Old working directory is stored in OLDPWD environment variable. This variable is updated every time we change directory. This also means that it is not set when we launch terminal.

user@server:~/a$ cd ~/b
user@server:~/a$ ls -d "$OLDPWD"
/home/user/a
user@server:~/a$ cp file "$OLDPWD" # will copy file to /home/user/a, ""
user@server:~/b$ cd -


标签: bash cd