我正在尝试实现自己的版本的“cd”命令,它会向用户展示一些硬编码的目录供其选择,用户需要输入与列表中条目对应的数字。该程序暂时命名为
目前,我正在尝试使用
有什么想法可以让这个工作吗?从Python脚本中改变我的交互式shell的当前目录是否可能?
my_cd.py
,然后有效地将用户“cd”到所选目录。以下是此操作的示例:/some/directory
$ my_cd.py
1) ~
2) /bin/
3) /usr
Enter menu selection, or q to quit: 2
/bin
$
目前,我正在尝试使用
os.chdir('dir')
进行“cd”。但是,这并不起作用,可能是因为 my_cd.py
在其自己的子进程中启动。我尝试在一个名为 my_cd.sh
的源bash脚本中包装对 my_cd.py
的调用:#! /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的当前目录是否可能?
alias mcd='cd $(/path/to/my_cd.py)'
- Dennis Williamson