0、常用知识点总结:
read:键盘读取;
declare:声明;
alias:别名设置(unalias)
history:历史命令
Ctrl+c:终止目前的命令;
Ctrl+D:EOF;
> :以覆盖的方法将正确的数据输出到指定文件;
>> :以追加的方法将正确的数据输出到指定文件;
2> :以覆盖的方法将错误的数据输出到指定文件;
2>> :以追加的方法将错误的数据输出到指定文件;
1、管道符:
(1)多命令顺序执行执行:
命令1 ;命令2 ...... ——命令1、命令2顺序执行,命令1和命令2之间没有逻辑关系
命令1 && 命令2 ...... ——命令1正确执行,命令2再执行;命令1执行错误,命令2不执行
命令1 ||命令2 ......——命令1正确执行,命令2不执行;命令1执行错误,命令2才执行
注意:命令1 && 命令2 || 命令3
(2)管道符:
命令1 | 命令2 ——命令1 的正确输出 作为 命令2 的操作对象
例如:ls -l /etc | more :用more命令查看/etc目录下的文件
2、通配符:
? :匹配任意一个字符
* :匹配多个字符
[ ] :匹配中括号内任意 一个 字符,
[ - ]:- 代表一个范围
[ ^ ]:逻辑非
[abc]匹配a、b、c中任意 一个;
[0-9]匹配0到9中任意 一个
[^0-9]匹配不是数字
# :代表注释
' ' :单引号。在单引号中所有的特殊符号都不起作用,不具有变量置换功能
" ":双引号。具有变量置换功能
$ :用于调用变量的值。例如$name,得到name变量的值
$( ) :括号内是系统命令,在Bash中先执行它,和夹在两个反单引号(1左边)中间一样
\ :转义符,跟在\之后的特殊符号 将失去特殊意义
3、shell script的默认变量($0 , $1 ...)
/path/scriptname opt1 opt2 opt3
$0 $1 $2 $3
执行的脚本文件名为$0这个文件名,第一个参数就是$1.。。。。。
4、条件判断式:[ condition ] —— “-a”是“且”;“-o”是“或”!
[ "$sum" == "100" ] 千万注意前后中括号都有一个“空格”,并且还要注意等于号两边条件都要用双引号包住!还要注意等于号两边各有一个空格!不要粘连!
5、条件判断:
(1) if [ 条件判断式 ]; then
程序段
fi
(2) if [ 条件判断式一 ]; then
程序段
elif [ 条件判断式二 ]; then
程序段
else [ 条件判断式三 ]; then
程序段
fi
(3) case $变量名称 in
"变量一")
程序段
;;
"变量二")
程序段
;;
"变量三")
程序段
;;
*) #代表其他值
程序段
;;
6、函数功能:
function funName(){ 程序段 }
7、循环:
(1)不定循环:
A:while [ condition条件判断式 ] #当condition成立时,就开始循环
do
程序段
done
B:until [ condition条件判断式 ] #当condition成立时,就终止循环
do
程序段
done
(2)固定循环:
A: for Var in con1 con2 con3 ... #第一次循环,Var为con1;第二次循环,Var为con2;......
do
程序段
done
例如:for num in $( seq 1 100) ——seq式sequence(连续)的缩写
B: for ( ( 初始值; 限制值; 执行步长) )
do
程序段
done