shell中不可不知的叹号

简介

shell 中!叫做事件提示符,英文是:Event Designators,可以方便的引用历史命令, 也就是history中记录的命令

用法

  • ! 当后面跟随的字母不是“空格、换行、回车、=和(”时,做命令替换
  • !n 会引用history中的第n个命令,比如输入!100,就是执行history列表中的第100条命令
> history | grep echo
1013  2012-12-20 12:24:40 echo ""
1014  2012-12-20 12:24:45  echo "22"
> !1014
 echo "22"
22

  • !-n 获取history中倒数第N个命令并执行,比如输入!-1,就会执行上一条命令
    > !-1
     echo "22"
    22
  • !!是!-1的一个alias ,因为执行上一条命令的情况比较多一些,一般如果只是执行上一条命令只按下键盘中的↑即可,有时候如果命令前加点东西执行起来会快一点(当然↑然后ctrl+a也可以跳到命令最面前插入内容)
    > apt-get install xxx    //Permission Denied. You need to be sudo to do this!
    > sudo !!                      // This is equivalent to sudo apt-get install xxx
  • !string引用最近的以 string 开始的命令。这条命令在你运行一个命令之后忘记了这个命令的参数是什么,直接!命令既可
    > echo "123" "213" "33"
    123 213 33
    > !echo
    echo "123" "213" "33"
    123 213 33
  • !?string[?] 指向包含这个字符串的命令
    > !?123
    echo "123" "213" "33"
    123 213 33
时间: 2024-09-19 07:46:27

shell中不可不知的叹号的相关文章

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的shell中预设的分隔符,用来把command line分解成word(字段). IFS可以是White Space(空白键).Tab( 表格键).Enter( 回车键)中的一个或几个. IFS是shell脚本中的一个重要概念,在处理文本数据时,它是相当有用的.内部字段分隔符是用于特定用途的定界符.IFS

eclipse导入-maven项目导入到Eclipse中红色叹号!

问题描述 maven项目导入到Eclipse中红色叹号! 最近看一个开源CMS系统Magnolia.环境:Ubuntu14,Eclipse4.4 for j2ee,jdk1.6,tomcat6,maven2.2.1 按照文档,写了一个小项目.用maven.在命令行创建的项目结构大概: myProject----myProject-webapp----myTemplateModule下面两个是上面的module. 在命令行中已经clean install成功.但是导入到Eclipse中myProj

maven的仓库中文件夹有红色叹号是代表什么意思?

问题描述 maven的仓库中文件夹有红色叹号是代表什么意思? maven的仓库中文件夹有红色叹号是代表什么意思?,文件夹有问号代表什么意思,绿色对号是什么意思? 解决方案 你这是使用了svn了吧,红色表示更改还没提交,绿色表示创建新的还没提交,

MySQL用户密码中的特殊字符叹号(!)的妙用_Mysql

使用叹号(!)禁止用户终端进入的一个方法. 复制代码 代码如下: mysql> grant all privileges on wubx.* to 'wubx'@'172.16.100.185′ identified by 'fd52!wubx&,'; Query OK, 0 rows affected (0.00 sec) mysql>quit; #mysql -h 172.16.100.185 -u wubx -pfd52!wubx&, -bash: !wubx@,: ev

Win7提示设备管理器中出现叹号设备“Teredo tunneling pseudo-interface”

知识点分析: Teredo 是一种地址分配和主机间自动隧道技术,当 IPv6 / IPv4 主机均位于一个或多个 IPv4 NAT 之后时,它可以帮助用户建立IPv6 单播连接.IPv6数据包以基于 IPv4 的 UDP 消息发送. 在设备管理器中出现叹号设备"Teredo tunneling pseudo-interface",根本原因是操作系统没有正确识别驱动,此问题一般在GHOST方式安装的操作系统上,完全安装Win7操作系统不会出现. 操作步骤: 首先尝试删除原来的驱动让操作系

Linux Shell学习:如何调用Shell中的函数

说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很"自然"的错误,也让我吃了不少的苦头,所以总结一下Shell中函数的调用方法. 一.Shell中函数的定义 为了方便程序和管理和模块化并减少代码的重复,函数的确是一个好东西.而Shell中函数的定义有两种方法,如下: function fname() { statements: } 或 fname() { statements; }

Linux bash Shell中的变量类型详解

  这篇文章主要介绍了Linux bash Shell中的变量类型详解,变量类型共分为本地变量.局部变量.环境变量.位置变量和特殊变量等,需要的朋友可以参考下 在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家: 一.bash变量类型: 本地变量 局部变量 环境变量 位置变量 特殊变量(内置) 二.本地变量: varname=value:作用域为整个bash进程可以使用; 变量命名规范: 1. 只能含字母.数

win7系统上网连接出现黄色叹号怎么办

在用路由器连接的win7电脑,有时连接上网时,会出现黄色叹号的问题,十分的让人头疼. 方法一:右键单击桌面上的网络图标,选择"属性" 打开属性面板,选择本地连接 打开本地连接,选择下面的"属性" 双击打开Internet协议版本6 选择"自动获取IPv6地址"和"自动获取DNS服务器地址"单击确定即可 方法二: 1. 首先右击桌面右下角网络图标,调出"打开网络和共享中心" 2.之后点击"本地连接&

Windows 8 设备管理器显示叹号怎么办?

  在"设备管理器中"有未安装的" Bluetooth 外围设备"显示叹号或问号. 操作步骤: 1.找到打开"控制面板"中的"设备和打印机"; 2.找到"设备"中的曾经链接过的蓝牙设备点击右键"属性"; 3.选择"硬件"能够看到未安装好的" Bluetooth 外围设备"; 4.选择"服务"之后能够看到该设备支持的功能所需的所以