Tcl:cd返回上一个目录

Tcl:cd返回上一个目录,tcl,Tcl,在Unix上,cd-可以切换回上一个目录。我想知道tcl解释器中是否有类似的命令可以执行同样的操作 否,Tcl中没有目录堆栈,以前的目录在任何地方都不会被记住 为目录堆栈提供pushd和popd命令,但它不会修改cd命令将任何内容放在那里。它可以通过命令包装和重命名来完成,但我不建议在脚本中使用它(至少,不要覆盖cd-的语义);你必须加一个。您可以在纯Tcl中实现这一点: rename cd real_cd variable old_dir [pwd] proc cd {directory} {

在Unix上,
cd-
可以切换回上一个目录。我想知道tcl解释器中是否有类似的命令可以执行同样的操作

否,Tcl中没有目录堆栈,以前的目录在任何地方都不会被记住


为目录堆栈提供
pushd
popd
命令,但它不会修改
cd
命令将任何内容放在那里。它可以通过命令包装和重命名来完成,但我不建议在脚本中使用它(至少,不要覆盖
cd-
的语义);你必须加一个。您可以在纯Tcl中实现这一点:

rename cd real_cd
variable old_dir [pwd]
proc cd {directory} {
    variable old_dir
    if {$directory eq "-"} {
        set directory $old_dir
    }
    set old_dir [pwd]
    real_cd $directory
}
这是一个非常简单的版本,只记得最后一个位置,但其他所有东西都可以以相同的方式构建在上面