翻译_bash:bash命令行下如何引用历史命令的参数
来源:互联网 发布:阿里金融云 编辑:程序博客网 时间:2024/05/19 03:18
本文来自stackoverflow一个问答,提及的技巧似乎以前在网上或资料上未见过,特译之。
原文地址:http://stackoverflow.com/questions/4009412/bash-how-to-use-arguments-from-previous-command
译文:
问:
I know that ESC DOT gives you the last argument of the last command.
But I'm interested in first argument of the last command. Is there a key binding to do so?
On the same lines, is there a generic way of getting nth argument from last command. (I know that in a bash script you can use $0, $1 etc., but these don't work on commandline)
Also, what about iterating through 0th argument of previous commands, like we can do with last argument by continuously pressing ESC DOT
我知道ESC-.(即ALT-.)可以引用上条命名的最后一个参数。
但如果感兴趣的是第一个参数,是否有一个快捷键来引用呢?
在同一行,是否有一个一般的方法来获得上条命令的第N条参数(我知道bash脚本中你可以使用$0,$1...,但在命令行下不起作用)
此外,如果是像ESC-.(ALT-.)那样引用上条命令的最后一个参数,怎样去逐条访问每条过去命令的第0个参数呢?
答:
Just as M-.
(meta-dot or esc-dot or alt-dot) is the readline function yank-last-arg
, M-C-y
(meta-control-y or esc-ctrl-y or ctrl-alt-y) is the readline function yank-nth-arg
. Without specifying n
, it yanks the first argument of the previous command.
就像 M-.(meta-.,或esc-.或alt-.)是调用readline函数 yank-last-arg一样,M-C-y(meta-ctrl-y或esc-ctrl-y或alt-ctrl-y)是调用readline函数yank-nth-arg。不指定n,函数黏贴(yank)过去命令的第一个参数。
To specify an argument, press Escape and a number or hold Alt and press a number. You can do Alt--to begin specifying a negative number then release Alt and press the digit (this will count from the end of the list of arguments.
为了指定一个参数,可以按Esc然后接一个数字或同时按住alt和一个数字。你可以按alt--来开始指定一个负数,然后松开alt再按一个数字,这将从过去命令的参数的从后向前计数的参数。
Example:
例子:
Enter the following command
输入下面命令
$ echo a b c d e f ga b c d e f g
Now at the next prompt, type echo
(with a following space), then
Press Alt-Ctrl-y and you'll now see:
现在在下个提示符下,输入echo(跟随一个空格),接着按alt-ctrl-y然后你可以看到:
$ echo a
without pressing Enter yet, do the following
不回车,接着做:
Press Alt-3 Alt-Ctrl-y
Press Alt-- 2 Alt-Ctrl-y
Now you will see:
现在你看到:
$ echo ace
By the way, you could have put the echo
on the line by selecting argument 0:
顺便说,你可以把像引用参数0一样输入echo:
Press Alt-0 Alt-Ctrl-y
现在回答你的补充问题:
You can press Alt-0 then repeatedly press Alt-. to step through the previous commands (arg 0). Similarly Alt-- then repeating Alt-. would allow you to step through the previous next-to-last arguments.
你能按alt-o然后重复的按alt-.来访问过去每一个命令,类似的,alt--然后alt-.允许你访问过去命令的每一个倒数第二个参数。
If there is no appropriate argument on a particular line in history, the bell will be rung.
如果历史命令上没有恰当的参数,将响铃提示.
If there is a particular combination you use frequently, you can define a macro so one keystroke will perform it. This example will recall the second argument from previous commands by pressing Alt-Shift-Y. You could choose any available keystroke you prefer instead of this one. You can press it repeatedly to step through previous ones.
如果有一个你经常使用的特定的组合,你可以定义一个宏,这样可以一键执行。比如下面的例子可以重复调用过去命令的第二个参数通过按alt-shift-y.你可以选择任何你喜欢的按键。你可以重复按来访问过去的参数。
To try it out, enter the macro at a Bash prompt:
现在来试试,在bash提示符下输入宏:
bind '"\eY": "\e2\e."'
To make it persistent, add this line to your ~/.inputrc
file:如果要永久化,则把下面的这行加入你的~/.inputrc文件:
"\eY": "\e2\e."
Unfortunately, this doesn't seem to work for arg 0 or negative argument numbers不幸的是,这似乎对参数0或负参数不起作用。
- 翻译_bash:bash命令行下如何引用历史命令的参数
- Bash的历史命令
- 如何防止丢失任何 bash 历史命令?
- 修改linux的bash历史参数
- 命令历史:bash的特性之一
- bash的基本功能(2)历史命令
- [bash]命令行参数、getopt系列命令格式化命令行字符串
- bash 下的命令行通配符
- 定制Bash历史命令
- bash 调用历史命令
- Bash历史命令
- bash中的历史命令
- Bash Shell命令行参数的使用
- 转:如何防止丢失任何 bash 历史命令?
- Bash编程 - 命令行参数
- [17]_关于Ubuntu16.04.3终端下的命令行解析器bash和命令执行过程
- 完善bash历史命令审核
- linux下如何获取进程的id和命令行参数
- 末三位数
- Tomcat--单向https与双向https的配置
- 快速排序
- leetcode解题笔记-Distinct Subsequences
- 第13周项目6-体验文件操作(3-文件的输入)
- 翻译_bash:bash命令行下如何引用历史命令的参数
- 五大领域有望诞生中国下一波千亿级企业
- 13周项目一。。玩转3
- CNN代码理解
- 大学专科、本科网络教育、成人教育学历、成都自考实时信息
- 基于java的串口通讯(附带实例+说明文档+测试工具)
- 第13周项目4-数组的排序(2)
- 杨辉三角形C#编程
- c/c++基础(十五) c编译初步