【问题标题】:Is it possible to edit the 'cd' ubuntu command or add functionality with bash?是否可以编辑 'cd' ubuntu 命令或使用 bash 添加功能?
【发布时间】:2015-02-23 18:46:57
【问题描述】:

所以,

cd .. 移回父目录。

我想添加功能以便我可以输入...

cd ...

...并移动到父目录的父目录。

因此,每增加一个.,就会向上移动一个额外的层级

这个想法来自SO answer about a script called 'up',它应该做同样的事情。但我很好奇是否可以只添加到cd 命令。

经过快速搜索,我注意到cd 是一个内置的 bash,所以我认为无法编辑任何原始代码。当提供有效参数时,是否可以创建一个新的cd(.sh) 脚本来代替内置的cd 命令执行?还可以通过哪些其他方式来实现?

注意:这更多是为了学习而不是实际应用,我只是认为这是一件很酷的事情。 谢谢!

【问题讨论】:

  • . .. 并不特定于 cd 命令。它由你的 shell 扩展,例如 bash。您的 shell 将 . 扩展到当前工作目录,将 .. 扩展到工作目录的父级。
  • 使用这个逻辑,我可以创建某种解释器来将(.. + . * n) 更改为有效目录吗?

标签: linux bash shell cd


【解决方案1】:

您可以在 .bashrc 文件中定义别名:

alias ...='cd ../..'

然后你可以发出... 去上两个目录。如果您只想要 cd 的别名,它会起作用。

【讨论】:

  • 简单但有效。
  • 我没想过使用别名。我肯定会考虑这样的事情。
【解决方案2】:

您可以将以下行添加到文件~/.bashrc

alias cd..='cd ..'
alias cd...='cd ../..'

等等。

添加此行后,关闭终端并打开一个新终端。在那里你可以cd.. 向上一个目录,cd... 向上两个目录...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多