我知道Esc +。给出最后一个命令的最后一个参数。
但我对最后一个命令的第一个参数感兴趣。 是否有一个键绑定来这样做?
在同一行中,是否有从最后一个命令中获取第n个参数的通用方法? 我知道在bash脚本中,您可以使用$0,$1等,但这些在命令行上不起作用。
同样,如果遍历前面命令的第0个参数,就像我们连续按Esc +对最后一个参数所做的那样,会怎么样呢?
我知道Esc +。给出最后一个命令的最后一个参数。
但我对最后一个命令的第一个参数感兴趣。 是否有一个键绑定来这样做?
在同一行中,是否有从最后一个命令中获取第n个参数的通用方法? 我知道在bash脚本中,您可以使用$0,$1等,但这些在命令行上不起作用。
同样,如果遍历前面命令的第0个参数,就像我们连续按Esc +对最后一个参数所做的那样,会怎么样呢?
当前回答
^可能是第一个参数的命令。我不确定是否有办法得到第n个。
其他回答
$获取上一个命令行参数的最后一个元素。
您还可以从历史记录中的任何命令获取参数! $ echo a b c d f g A b c d e f g $ echo build/libs/jenkins-utils-all-0.1.jar 建立/ libs / jenkins-utils-all-0.1.jar $ history | tail -5 601 echo build/libs/jenkins-utils-all-0.1.jar 602历史|尾巴-10 603回声a b c d e f g 604 echo build/libs/jenkins-utils-all-0.1.jar 605历史|尾巴-5 $ echo !-3:4 回声d d $ echo !604:1 构建/ libs / jenkins-utils-all-0.1.jar回响 建立/ libs / jenkins-utils-all-0.1.jar
如果你使用的是mac,你会倾向于使用ctrl+字母来扩展字符。我在终端(iTerm2)中设置了空格右键选项键,并将其定义为meta。这意味着我使用键按字导航,并从以前的命令中提取参数。
^可能是第一个参数的命令。我不确定是否有办法得到第n个。
在接受的答案后面描述的方法对我来说也适用于第0个参数。在我的~/.inputrc中有这些行:
"\en": "\e0\e."
"\em": "\e1\e."
"\e,": "\e2\e."
\ e2 \ e。与\e2\e\C-y相比,它的优点是,如果重复按下它,它会循环执行前面的命令,而不是多次插入前面命令的第二个参数。
要插入之前的整个命令,可以输入!!\e^。\e^是history-expand-line。