gpt4 book ai didi

python - 使用 python 脚本更改 shell 中的工作目录

转载 作者:IT王子 更新时间:2023-10-28 23:53:56 24 4
gpt4 key购买 nike

我想实现一个用户区命令,该命令将采用其参数之一(路径)并将目录更改为该目录。程序完成后,我希望 shell 位于该目录中。所以我想执行 cd 命令,但要使用外部程序。

它可以在 python 脚本中完成还是我必须编写 bash 包装器?

例子:

tdi@bayes:/home/$>python cd.py tdi
tdi@bayes:/home/tdi$>

最佳答案

其他人指出您不能更改父项的工作目录。

但有一种方法可以实现您的目标——如果您从 shell 函数中 cd,它可以改变工作目录。将此添加到您的 ~/.bashrc:

go() {
cd "$(python /path/to/cd.py "$1")"
}

您的脚本应该打印您要更改到的目录的路径。例如,这可能是您的 cd.py:

#!/usr/bin/python
import sys, os.path
if sys.argv[1] == 'tdi': print(os.path.expanduser('~/long/tedious/path/to/tdi'))
elif sys.argv[1] == 'xyz': print(os.path.expanduser('~/long/tedious/path/to/xyz'))

然后你可以这样做:

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

关于python - 使用 python 脚本更改 shell 中的工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com