jsx97 Asked: 2024-07-28 18:33:52 +0800 CST2024-07-28 18:33:52 +0800 CST 2024-07-28 18:33:52 +0800 CST 通过只改变路径的中间部分来“cd” 772 在 Zsh 中,从cd到~/foo/bar/aaa/bbb/ccc,~/foo/bar/zzz/bbb/ccc我可以输入cd aaa zzz,就这样。我仔细阅读了 Fishcd手册页,但我仍然不明白:那里是否也可以做同样的事情? cd-command 1 个回答 Voted Best Answer Marcus Müller 2024-07-28T18:43:47+08:002024-07-28T18:43:47+08:00 这是不可能的,文档对此有明确的说明,大多数系统上的 /usr/share/doc/fish/cmds/cd.html。 cd [DIRECTORY] 没有留下解释的余地;有零个或一个参数cd。 当然,您可以编写自己的 shell 函数,名为cd,计算它获得的参数数量,如果它们<2 则command cd $argv[1];否则获取当前的pwd,用 替换$argv[1]组件$argv[2]并将替换command cd为结果。 但请注意,您可能不应该这样做。 Fish 有点……奇怪,因为它没有shell 别名的概念,也就是说,您不能拥有仅在交互模式下工作的东西。 因此,从那时起,每次 fish shell 脚本执行时cd,它都会执行您自己的 shell 函数,而这对于 shell 脚本中最常见的操作之一来说,可能会花费大量时间!
这是不可能的,文档对此有明确的说明,大多数系统上的 /usr/share/doc/fish/cmds/cd.html。
没有留下解释的余地;有零个或一个参数
cd
。当然,您可以编写自己的 shell 函数,名为
cd
,计算它获得的参数数量,如果它们<2 则command cd $argv[1]
;否则获取当前的pwd
,用 替换$argv[1]
组件$argv[2]
并将替换command cd
为结果。但请注意,您可能不应该这样做。 Fish 有点……奇怪,因为它没有shell 别名的概念,也就是说,您不能拥有仅在交互模式下工作的东西。 因此,从那时起,每次 fish shell 脚本执行时
cd
,它都会执行您自己的 shell 函数,而这对于 shell 脚本中最常见的操作之一来说,可能会花费大量时间!