如何为点字符串添加别名(例如“...”到“../..”)?

CIs*_*ies 2 command-line bash cd alias

我正在尝试找到返回几个目录的快捷方式。就像是"cd ...." == "cd <number of dots - 1> * '../'"

  1. 我尝试做 alias '...'='../..' && cd ... 但得到“没有这样的文件或目录”
  2. 然后我尝试做 alias '...'='../..' 但得到“无效的别名”
  3. 我想我可以创建一个函数:function bla { for i in $(seq $(($1 - 1))); do cd ../; done; }; bla 3但这似乎不太优雅(而且我一次 cd ../ 一次,这很糟糕(cd -例如不会达到预期的效果),但我可以连接字符串,并且只能在结尾)

我的问题是:如何解决(1)和(2)以及是否有更简洁的方法?

Rya*_*n M 5

我会推荐

alias '...'='cd ../..'
Run Code Online (Sandbox Code Playgroud)

这样,您只需键入...并进入两个目录(甚至比更容易cd ...!)

你甚至可以制作一整套:

alias '..'='cd ..'
alias '...'='cd ../..'
alias '....'='cd ../../..'
alias '.....'='cd ../../../..'
Run Code Online (Sandbox Code Playgroud)

...等等

或者,如果您想跳过所有输入,这将创建最多 100 个目录的所有别名:

alias '...'='cd ../..'
Run Code Online (Sandbox Code Playgroud)