1.#!/bin/sh 使用sh程序来执行下边的代码
#!/bin/more 输出下边的代码
#!/bin/可执行程序 下边的代码将会作为此程序的输入
2. * 可以用来匹配文件名,正则匹配,作为乘法。**还可以作为幂运算
3.(( 代码)) 即可以做数学运算,也可以在里面添加c代码
4.$可以是代表一个已经定义的变量,可以作为正则匹配的行结束符,$$代表当前shell脚本的进程ID
5.( 代码 ) 用来创建一个子shell执行包含的代码,还可以用于数组初始化
6.{ } 有点像分配律的样子,看例子:
cat {file1,file2,file3} > combined_file # 把file1,file2,file3 连接在一起,并且重定向到combined_file 中
cp file22.{txt,backup} # 拷贝"file22.txt" 到"file22.backup"中
7.[[ ]] 双中括号
①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。[[ ]] 中匹配字符串或通配符,不需要引号。
③使用[[ ... ]]条件判断结构,而不是[ ... ],能够防止脚本中的许多逻辑错误。比如,&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报 错。
④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。
8.---看到31页