特殊字符:
; 命令分割符.允许在同一行里有两个或更多的命令. . 当前目录 隐藏文件,文件名以 . 为前缀时,该文件变成了隐藏文件。ls -a才能显示 , 逗号操作符用于连接一连串的数学表达式 ` 斜引号 `command`命令替换 命令( command)执行结果能赋值给一个变量
: 空命令 空操作, 是Bash自身内建的, 它的退出状态码是真(即0) 被认为是和shell的内建命令true是一样的
shell中真用数字0表示
用于1 死循环 while : do 。。。。 done
2 占位符 if condition then : else ..... fi
3 与 > 连用,把一个文件的长度截短为零,文件的权限不变。如果文件不存在,则会创建一个新文件
: > data.txt 等同于 cat /dev/null > data.txt
4 与 >> 连用(: >> target_file).如果目标文件存在则什么也没有发生,如果目标文件不存在,则创建它
5 域分割符。比如说在/etc/passwd和环境变量$PATH里.
** 求幂运算符
$? 保存退出码值的变量. 保存了一个命令,一个函数,或一个脚本的退出状态码的值。
$$ 进程ID变量. 保存了脚本运行时的进程ID值
() 一组由圆括号括起来的命令是新开一个子shell来执行的.
因为是在子shell里执行,在圆括号里的变量不能被脚本的其他部分访问。因为父进程(即脚本进程)不能存取子进程
创建的变量
{} 命令代码块,它是匿名的函数。然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问。
{xxx,yyy,zzz,...}
匹配扩展 依照列表中逗号分隔开的模式匹配扩展。
ex. 在扩展中的所有模式都不能包含空白字符,除非空白字符是被转义或引用的。 echo {file1,file2}\ :{\ A," B",' C'} 打印出 file1 : A file1 : B file1 : C file2 : A file2 : B file2 : C |