单引号和双引号的区别
- 单引号之间的内容原封不动的指定给了变量。
- 双引号取消了空格的作用,特殊符号的含义保留。
删除变量
unset $NAME
过滤$NAME
及 set | grep NAME
位置变量和特殊变量
- 位置变量:Shell 解释执行用户命令时,将命令行的第一个字作为命令名,而其他字作为参数。由出现再命令行上的位置确定的参数成为位置参数。
- 特殊变量:有些变量是一开始执行Script脚本时就会设定,且不能被修改,但我们不叫他只读的系统变量,而叫它特殊变量。这些变量当一执行程序时就有了。
$*
这个程序的所有参数
$#
这个程序的参数个数
$$
这个程序的PID
$!
执行上一个后台程序的PID
$?
执行上一个指令的返回值
1 #!/bin/bash
2 echo "$* 表示这个程序的所有参数"
3 echo “$# 表示这个程序的参数个数”
4
5 touch /tmp/a.txt
6 echo "$$ 表示程序的进程ID"
7
8 touch /tmp/b.txt &
9 echo "$! 表示这个程序的后台PID"
10 echo "$$ 表示这个程序的进程ID"
表示这个程序的所有参数
“0 表示这个程序的参数个数”
18763 表示程序的进程ID
18765 表示这个程序的后台PID
“18763 表示这个程序的进程ID”