你可能不知道的超实用shell技巧 — !#, !:n, !$

源文章:http://www.letuknowit.com/post/78.html
在之前的文章《你可能不知道的超实用shell技巧 — !$》中,我们知道了 在shell中,!$代表了上一个命令的最后一个参数。那如果要获取上个命令的其它参数该怎么操作呢?
还是以echo hello world命令为例,下面就演示在该命令执行完成后,如何获取命令的各个参数甚至命令本身。

# echo hello world
hello world
# echo !:1
echo hello
hello
# echo hello world
hello world
# echo !:2
echo world
world
# echo hello world
hello world
# echo !:3
-bash: :3: bad word specifier

在调用!:3的时候出错了,因为上一次的命令只有两个参数。

下面你应该知道如何获取上次执行的是哪个命令了,那就是!:0,请看下面

# echo hello world
hello world
# echo !:0
echo echo
echo

其实呢,有更好的表示方法,看下面

# echo hello world
hello world
# echo !#
echo echo 
echo

总结

!# 上一个命令名
!$ 上一个命令的最后一个参数
!:n 上一个命令的第n个参数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,289评论 0 11
  • 概述 首先,咱们来了解一下,什么是Shell。操作系统内核给我们提供了各种接口,同时也提供了各种用户层的库,理论上...
    keysaim阅读 5,291评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,359评论 2 33
  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 8,417评论 3 49
  • 问了我就会告诉你吗?即使告诉你又能怎样?说太多又有什么用,老生常谈的问题不知道已经说了多少遍,重视了吗?我累了,真...
    飞鸟婉心阅读 2,629评论 3 1

友情链接更多精彩内容