gpt4 book ai didi

zsh - 如何在命令行中获得前一个命令的第 n 个参数?

转载 作者:行者123 更新时间:2023-12-04 03:36:32 33 4
gpt4 key购买 nike

如果您在交互式 shell 中并键入以下内容:

echo this is it

然后你可以扩展第一个参数:
echo !^    #=> echo this

或者您可以扩展最后一个参数:
echo !$    #=> echo it

但现在我想知道:

我将如何访问第 n 个参数?我看了 a related bash question ,但似乎只有在脚本中才有效,因为 !n只是浏览我的命令历史(而不是我的参数历史) - 例如
    echo !1 #=> echo ls

这是有道理的,因为
    history | grep -E '^\s+1 ' #=> 1  ls

但我想要的是 echo !(some correct index) #=> echo is

最佳答案

这边走:

~ $ echo this is it
~ $ echo !!:2
echo is
is
!!:n是第 n 个参数 !!:n-$是从第 n 个到最后一个的 args

注: !!扩展到最后一个命令

根据 OP 的编辑( moved ):

倒数第二个命令的第二个参数:
~ $ echo foo bar baz # This one is the target
foo bar baz
~ $ echo catz ratz batz
catz ratz batz
~ $ echo !-2:2
echo bar
bar
!-n扩展到在当前命令之前有 'n' 个命令的命令。

注: !-1!!是相同的。

关于zsh - 如何在命令行中获得前一个命令的第 n 个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37277931/

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