Example:
mainscript.sh
cd /mnt/something
./buildscripts/000-script.sh
000-script.sh
cd /mnt/otherthing
mkdir something
exit
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.
Sign up to join this communityYes the executed process will not change the working directory of the parent process.
Example:
caller.sh
#!/bin/bash
echo -n "Caller 1 " ; pwd
./callee.sh
echo -n "Caller 2 " ; pwd
callee.sh
#!/bin/bash
echo -n "Callee 1 " ; pwd
cd /tmp
echo -n "Callee 2 " ; pwd
exit
Calling caller.sh
will produce
Caller 1 /Users/corti/tmp
Callee 1 /Users/corti/tmp
Callee 2 /tmp
Caller 2 /Users/corti/tmp
As you see when printing Caller 2
the parent process has still the same working directory
The "child" is not remembering anything. This is just a basic concept that processes are started from their current working directory (cwd). If you look at /proc/* on a Linux-system you can see that entry for every process.