资源

高级Bash脚本编程指南.3.9.1 (杨春敏 黄毅 译).pdf

速查

特殊字符


# [井号] 注释
#! 指示一个解释器, 其后跟路径
#!/bin/sh 调用默认的shell解释器, linux上默认是/bin/bash
; [分号] 命令分隔符
;; [双分号] 终止case选项
. [句号点] 等价于source命令, 这是一个bash的内建命令
隐藏文件夹
当前目录
通配符,匹配任何单个字符
“ [单个双引号] 部分引用, “string”将会阻止解释string中大部分特殊字符
‘ [单个单引号] 全引用, ‘string’ 阻止解释string中所有特殊字符
, [逗号] 连接一系列算术操作, 只有最有一项结果被返回
\ [反斜线] 转义符
/ [斜线] 文件名路径分隔; 除法算术操作符
[反点(数字1左边)] 命令替换<br />command`结构可以将命令的输出赋值到一个变量中去
: [冒号] 等价于NOP, 退出码是true(0) ; 相当于内建命令true
详见p42
! [感叹号] 取反操作符; 是bash的关键字
[星号] 通配符; 正则中匹配任意个(包含0个)字符
算术操作符,乘法
** [两个星] 求幂操作符
? [问号] 测试操作符
通配符, 在正则中表示一个字符
$ [dollar] 引用变量的内容
正则中, 行结束符
${} 参数替换
$
,$@ 位置参数
$? 退出状态码变量
$$ 进程ID变量
() 命令组, 在括号中的命令列表, 将会作为一个子shell来运行
脚本本身使用不了子shell中的任何变量
初始化数组
Array=(element1 element2 element3)

特殊变量

https://blog.csdn.net/w746805370/article/details/51044352
1)$0 获取当前执行脚本的文件名包括路径
dirname $0 只取当前执行脚本的路径
basename $0 只取当前执行脚本文件名
2)$# 执行命令行(脚本)参数的总个数
3)$@ 这个执行程序的所有参数
4)$* 获取当前shell 的所有参数(注意与$@区别)
5)$! 上一个执行命令的PID
6)$$ 获取当前shell的PID
7) $_ 在此之前执行的命令或者脚本的最后一个参数
8)$? 上一个命令的退出状态
9)$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。

操作串口

https://blog.csdn.net/wsclinux/article/details/50417542

cat 和 echo >
stty命令用来设置串口参数