Измените каталог из скрипта python для вызова оболочки

Я хотел бы создать скрипт python, который может управлять состоянием вызывающей оболочки bash, особенно для начала это рабочий каталог.

С os.chdir или os.system("ls ..") вы можете изменить только путь интерпретатора, но как тогда я могу применить изменения комментариев к вызывающему скрипту?

Спасибо за подсказку!

Не могли бы вы предоставить более подробную информацию.

Abhijit Pritam Dutta 10.09.2018 11:46
0
1
152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете сделать это напрямую из python, поскольку дочерний процесс никогда не может изменить среду своего родительского процесса.

Но вы можете создать сценарий оболочки, который вы источник из своей оболочки, т.е. он запускается в том же процессе, и в этом сценарии вы вызовете python и будете использовать его вывод в качестве имени каталога для cd, чтобы:

/home/choroba $ cat 1.sh
cd "$(python -c 'print ".."')"
/home/choroba $ . 1.sh
/home $

Очень интересная идея, классно - спасибо :) Может быть, "нормальными" вызовами невозможно изменить среду его родительского процесса, но есть ли способ предоставить ресурсы родительского процесса его дочернему процессу?

Paul Würtz 10.09.2018 11:52

Другие вопросы по теме