gpt4 book ai didi

Bash 别名使用 !$

转载 作者:行者123 更新时间:2023-11-29 09:12:52 26 4
gpt4 key购买 nike

我今天发现我可以编写 !$ 来从最后执行的命令中获取最后一个参数。

现在我正尝试使用该快捷方式创建别名,但它根本不起作用。

这些是我正在尝试创建的。

alias gal='git add !$'
alias gcl='git checkout !$'
alias sl='sublime !$'

这是调用galgcl时的结果输出

fatal: pathspec '!$' did not match any files

所以看起来 !$ 只是没有被这个上下文中最后一个命令的最后一个参数替换。

这可能吗?

最佳答案

与其摆弄 Bash 的历史,不如使用 Bash's $_ internal variable :手册的相关部分指出:

$_: […] expands to the last argument to the previous command, after expansion. […]

例如:

$ touch one two three
$ echo "$_"
three
$ ls
$ echo "$_"
ls
$ a='hello world'
$ echo $a
hello world
$ echo "$_"
world
$ echo "$a"
hello world
$ echo "$_"
hello world
$

在您的情况下,您的别名将如下所示:

alias gal='git add "$_"'
alias gcl='git checkout "$_"'
alias sl='sublime "$_"'

关于Bash 别名使用 !$,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com