É possível alterar o diretório e as alterações persistem quando o script termina?

Ao tentar responderuma pergunta para outro usuário, Me deparei com algo que despertou minha curiosidade:

import os
os.chdir('..')

Mudará o diretório de trabalho no que diz respeito ao Python, por isso, se eu estiver em/home/username/e eu corroos.chdir('..'), qualquer código subsequente funcionará como se eu estivesse em/home/. Por exemplo, se eu fizer:

import glob
files = glob.glob('*.py')

files será uma lista de.py arquivos em/home/ ao invés de/home/username/. No entanto, assim que o script terminar, voltarei a/home/username/ou em qualquer diretório em que eu executei o script originalmente.

Eu descobri que o mesmo acontece com scripts de shell. Se eu tiver o seguinte script:

#!/bin/bash

cd /tmp
touch foo.txt

Executando o script de/home/username/ criará um arquivofoo.txt no/tmp/, mas quando o script terminar, ainda estarei em/home/username/ não/tmp/.

Estou curioso para saber se existe algum motivo fundamental pelo qual o diretório de trabalho não é alterado "permanentemente" nesses casos e se existeé uma maneira de alterá-lo permanentemente, por exemplo, para executar um script com~$ python myscript.py, e faça com que o terminal em que o script foi executado termine em um diretório diferente quando o script concluir a execução.

questionAnswers(1)

yourAnswerToTheQuestion