$_ 有好几个功能,我们最常用的是用它来获取“刚刚执行过的命令的最后一个参数”这个功能,比如下面这样: $ ls ~/Downloads/very/long/dir/ # ls 到某个目录看看有没有我们想要的文件 file1 file2 needed_file $ cd $_ # 如果有,就进入到那个文件夹,$_ 让你省去了不少键盘敲击数 Bash manual 中对 $_ 的这个功能的描述只有一句话: expands to the last argument to the previous…
在bash中,如果循环在一个子shell中运行,那么在循环中对循环外面的变量的更改将在循环退出后不可见.像下面的例子: #!/bin/sh python run.py | while read line do echo $line let "var=var+1" done echo $var 最后面的echo输出的var仍然是1.原因是while循环位于管道中,这意味着在运行过程中,while循环实际是位于一个新的SHELL中的,while循环中的var变量和文件开头定义的var变量是…