1001
Bash的三个变量:!$, $!和$_分别代表什么?
$! 表示后台任务的pid, 例如: nohup somecommand 2>&1 & echo $!
!$ 表示上一个命令的最后一个word:
>echo 123 >> logfile
>echo !$ 输出 logfile
$_ 表示上一个命令的最后一个参数:
> mkdir -p /dir1/dir2/ && cp /mydir/* $_/ 复制的时候自动创建路径。
扩展知识:
$? 上一个命令的退出码,如果上一个命令成功,则为0,否则为非0.
$$ 当前shell的进程ID, 通常用来命名临时文件,比如:echo abc >>/temp/log.$$
$_ 上一个命令的最后一个参数。
$! 最近一个后台执行的异步进程ID.
$0 当前shell的名称或者脚本名
$- 当前shell的启动参数
$#和$@ 表示脚本的参数数量