【问题标题】:Remove last visited directory in terminal删除终端中最后访问的目录
【发布时间】:2026-02-19 08:10:01
【问题描述】:

- 命令返回终端中最后访问的目录。如果我尝试像rm -rf `-` 那样删除最后一个目录,则不会发生任何事情。这意味着上次访问的文件夹仍然存在。

【问题讨论】:

    标签: bash terminal history rm


    【解决方案1】:

    注意- 不是命令,它只有在用作cd 命令的参数时才具有您所描述的含义(请参阅POSIX man page for cd 的操作数部分)。如果你尝试执行它,你应该得到 ​​p>

    $ `-`
    -bash: -: command not found.
    

    请注意,由于-f 参数,您看不到错误消息。删除它,你会得到

    $ rm -r `-`
    -bash: -: command not found
    usage: rm [-f | -i] [-dPRrvW] file ...
           unlink file
    

    上一个目录可用$OLDPWD 环境变量中。所以你的命令应该是

    rm -rf "${OLDPWD}"
    

    作为旁注- 在用作文件名时也具有stdin 的特殊含义,对于许多 GNU 命令。另请注意,不推荐使用反引号构造以支持 $() 构造。

    【讨论】: