首页 Linux 正文
1001

Bash的三个变量:!$, $!和$_分别代表什么?

  • yiqingpeng
  • 2019-06-21
  • 0
  •  
$! 表示后台任务的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的启动参数

$#和$@  表示脚本的参数数量
  


正在加载评论...