zsh – 如何在命令行中获取上一个命令的第n个参数?
发布时间:2020-12-13 19:50:28 所属栏目:Linux 来源:网络整理
导读:如果你是一个交互式 shell,你输入如下内容: echo this is it 然后你可以扩展第一个参数: echo !^ #= echo this 或者你可以扩展最后一个参数: echo !$ #= echo it 但现在我想知道: 我如何访问第n个参数?我查看了a related bash question,但似乎只有在脚
如果你是一个交互式
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 this is it ~ $echo !!:2 echo is is !!:n是第n个arg 注意: !!扩展到最后一个命令 根据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和!!是相同的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |