以项目中的JS绑定脚本为例来学习。
# 注释标志
>输出到文件
>>追加到文件
<<表示后面的是输入的结束符
cat>err.txt<<EOF
> aaaa
> 12321
> EOF
aaaa
12321
输入到err.txt
getopts用于对命令行参数做处理,即调用脚本时后面带的-n之类的参数。语法如下:
getopts 选项字符串 变量
case语句
case [目标] in
选项1);;
选项2);;必须以双分号结束
esac
while [命令] do
…………
…………
done
echo 打印
$变量 表示获取变量的值,${}表示花括号中是一个变量
wc 即wordCount命令,用于统计字数,-l表示统计行数
选项如果不带参数可以写在一起,例如 -l -t 可以写成-lt
给变量赋值时,如果值中含有空格需要使用双引号。
grep 文本匹配,使用正则表达式;egrep是它的扩展。
fgrep匹配固定字符串
basename 显示一个文件路径中的文件名
pwd 查看当前目录的完整路径
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 获取当前脚本的所在路径
其中BASH_SOURCE[0]指脚本所在路径与当前路径的相对路径,dirname取得目录
cd + 目录的命令切换到脚本所在目录,然后用pwd取得该目录的完整路径
shell命令中的&&表示 前一个命令返回成功之后,后一个命令才执行。
source命令,也称点命令,指把另一个shell文件里的命令全部加载进父文件,即其中的变量等变化全部在父文件生效。
-z +字符串 :如果字符串为空则返回真值
数组: array[*]或者array[@]表示整个数组,#array 表示获取数组的长度
-lt 小于 less than
let和(())都可用于变量赋值
${var##*string} 删掉var 中最后一个string及其左边的字符串
$0 取得脚本文件名