我正在尝试实现我自己的“cd”命令版本,该命令向用户提供可供选择的硬编码目录列表,并且用户必须输入与列表中的条目相对应的数字。该程序名为my_cd.py
现在,应该有效地将用户“cd”到所选目录。其工作原理示例:
/some/directory
$ my_cd.py
1) ~
2) /bin/
3) /usr
Enter menu selection, or q to quit: 2
/bin
$
目前,我正在尝试使用“cd”os.chdir('dir')
。然而,这不起作用,可能是因为my_cd.py
在它自己的子进程中启动。我尝试将通话转至my_cd.py
在名为的源 bash 脚本中my_cd.sh
:
#! /bin/bash
function my_cd() {
/path/to/my_cd.py
}
/some/directory
$ . my_cd.sh
$ my_cd
... shows list of dirs, but doesn't 'cd' in the interactive shell
关于如何让它发挥作用有什么想法吗?是否可以通过 python 脚本更改交互式 shell 的当前目录?
更改您的来源bash
代码为:
#! /bin/bash
function my_cd() {
cd `/path/to/my_cd.py`
}
和你的Python代码来完成所有的事情cosmetic
输出(给用户的消息、菜单等)sys.stderr
,并且最后代替os.chdir
, just print
(to sys.stdout
) 目录应更改为的路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)