使用python脚本在Shell中更改工作目录

我想实现一个userland命令,该命令将使用其参数之一(路径)并将目录更改为该目录。程序完成后,我希望外壳位于该目录中。所以我想cd用外部程序来实现命令。

可以在python脚本" title="python脚本">python脚本中完成还是必须编写bash包装器?

例:

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

tdi@bayes:/home/tdi$>

回答:

其他人指出,您不能从孩子那里更改父母的工作目录。

但是有一种方法可以实现您的目标-如果从shell函数中进行cd,则 可以 更改工作目录。将此添加到您的〜/ .bashrc中:

function go()

{

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

}

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

#!/usr/bin/python

import sys

if sys.argv[1] == 'tdi': print '~/long/tedious/path/to/tdi'

elif sys.argv[1] == 'xyz': print '~/long/tedious/path/to/xyz'

然后,您可以执行以下操作:

tdi @ bayes:/ home / $> go tdi

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

以上是 使用python脚本在Shell中更改工作目录 的全部内容, 来源链接: utcz.com/qa/418856.html

回到顶部