Skip to content
Advertisement

Change working directory in shell with a python script

I want to implement a userland command that will take one of its arguments (path) and change the directory to that dir. After the program completion I would like the shell to be in that directory. So I want to implement cd command, but with external program.

Can it be done in a python script or I have to write bash wrapper?

Example:

JavaScript

Advertisement

Answer

Others have pointed out that you can’t change the working directory of a parent from a child.

But there is a way you can achieve your goal — if you cd from a shell function, it can change the working dir. Add this to your ~/.bashrc:

JavaScript

Your script should print the path to the directory that you want to change to. For example, this could be your cd.py:

JavaScript

Then you can do:

tdi@bayes:/home/$> go tdi
tdi@bayes:/home/tdi$> go tdi
Advertisement