原文地址:
- http://blog.wingflare.com/2019/10/j3751z6q596v4ryk.html,
- https://www.itranslater.com/qa/details/2113801439481955328
$参数相关命令
$$
当前shell的PID
$!
shell最后运行的后台进程PID
用途: 关闭后台运行的程序
[root@master ~]# sleep 100 &
[1] 8127
[root@master ~]# kill -9 $!
$?
上一个命令执行的返回值 (结束代码, int类型)
$-
shell的可用选项, 比如 echo $-
会输出himBH
, 表示echo
命令可以用-h
-i
-m
-B
-H
$#
输入的参数个数
$0
~$n
输入的各个参数值, $0
是当前shell脚本文件名, $1
后面的是各个参数, 跟程序中args
参数接收到的内容一致
$*
所有输入参数的列表, 用""
括起来表示使用空格作为间隔符的列表
$@
同上, 表示所有输入的参数列表, 唯一不同是用双引号括起来, 表示: 使用""
包裹并使用空格作为间隔符的参数列表
History相关命令
history
直接列出历史命令 (不用一直按 ↑
找命令了)
!1
表示执行第1条命令, 1也可以换成别的数字
!-1
表示执行最后1条命令, 1也可以换成别的数字
!!
表示执行最后1条命令, 与!-1
效果一样
!字符串
指向最近一次包含此字符串(仅搜索程序名, 不搜索参数)的命令并执行
!?字符串
指向最近一次包含此字符串(程序名和参数都搜索)的命令并执行
echo !?字符串
输出最近一次包含此字符串的命令
History获得上一个命令的参数
!$
获得最后一个参数
用途: 创建一个文件夹, 然后进入
[root@master ~]# mkdir -p test/test2
[root@master ~]# cd !$
cd test/test2
[root@master test2]#
!^
获得第1个参数
!*
获得所有参数
!:2
获得第2个参数
!:2-3
获得第2到3个参数
!:2-$
获得第2个到最后一个参数
!:2*
获得第2个到最后一个参数
!:3-
获得第3个到倒数第2个参数
!:0
获得第0个参数(命令本身)
使用快捷键获得上一个命令的其它参数
Alt
+0
, 然后Alt
+Ctrl
+y
获得第0个参数, 0可以换成其它数字
Alt
+-
, 然后Alt
+Ctrl
+y
获得最后一个参数
Alt
+.
获得最后一个参数
查询方法
$ man -P 'less -p ^HISTORY\ EXPANSION' bash
<...>
Word Designators
Word designators are used to select desired words from the event.
A : separates the event specification from the word designator.
It may be omitted if the word designator begins with a ^, $, *, -,
or %. Words are numbered from the beginning of the line, with the
first word being denoted by 0 (zero). Words are inserted into the
current line separated by single spaces.
0 (zero)
The zeroth word. For the shell, this is the command word.
n The nth word.
^ The first argument. That is, word 1.
$ The last argument.
% The word matched by the most recent ‘?string?’ search.
x-y A range of words; ‘-y’ abbreviates ‘0-y’.
* All of the words but the zeroth.
This is a synonym for ‘1-$’.
It is not an error to use * if there is just one word in
the event; the empty string is returned in that case.
x* Abbreviates x-$.
x- Abbreviates x-$ like x*, but omits the last word.
If a word designator is supplied without an event
specification, the previous command is used as the event.