不知道这是否可能,但我似乎记得在过去使用 AIX 时,只需说出需要用其他东西替换路径的哪一部分,就可以改变我的路径。例如,假设我有两条路径:
/etc/application-2.0.1/options/default
和
/etc/application-1.0.8/options/default
我可以使用类似的命令从文件夹 1 切换到 2
cd /2.0.1/1.0.8/
这将在路径中替换字符串2.0.1
to 1.0.8
。显然这对我现在不起作用。但是有没有办法做到这一点?
如果您使用zsh作为 shell,您只需输入
cd 1.0.8 2.0.1
.这应该在 ubuntu 10.04 上的 bash 中工作:
cd ${PWD/old/new}
。基本上,这会将old
您当前工作目录中的第一次出现替换为new
. 下面2个例子。示例 1
示例 2
借用 sepp2k 的答案的想法,你可以做一个这样的函数
然后使用类似
mycd 2.0.1 1.0.8
切换的东西。我自己使用过(并且错过了)这个功能。这取决于您使用的 *nix 的风格和/或版本。如果您使用 bash,这里有一个方便的方法来扩展内置 cd 以包含此功能。将其放入您的 .bashrc 中(或测试将其粘贴到您的 bash shell 中并按回车键)。
您可能还记得历史扩展。我不知道 AIX 上的 shell 中有什么可用的,但在 bash 中执行此操作的一种方法是
^2.0.1^1.0.8
.历史扩展对于 bash 和 zsh 等具有强大命令行编辑功能的 shell 不太有用。您可以使用箭头键来调用以前的命令,并使用Alt+.插入上一个命令的最后一个单词(按两次以到达之前的命令,依此类推)。
如果您是 vi 爱好者,您可以在 shell 中启用 vi 模式(例如 bash set -o vi)并使用 vi 的命令模式 ...
或者你可以做疯狂的历史扩展(在 zsh 中测试,也许也在 bash 中):
然而,这不是很漂亮。你可以通过把它放在一个函数中来美化它:
然后像这样称呼它:
不过,您仍然需要避开这些点,但我相信这也可以通过一些思考来解决。
上面的命令在最后一个命令中将 2.0.1 交换为 1.0.8,它在 bash 中工作
为确保
-P|-L|-
工作使用以下内容:不确定 AIX,但我记得这是我曾经管理的 Solaris 机器上的一个旧 Korn shell 技巧。在您的示例中,您将输入以下命令:
更多信息在这里。