shell script学习笔记.docx
《shell script学习笔记.docx》由会员分享,可在线阅读,更多相关《shell script学习笔记.docx(14页珍藏版)》请在冰豆网上搜索。
shellscript学习笔记
Shellscript
一、shellscript简要
类似Windows的批处理。
一般脚本文件是在子程序上执行,但结果会在父程序上显示,所以变量内容在父程序上找不到;
利用source来执行脚本,会直接在父程序上执行,变量内容也会在父程序上找到。
二、shellscript编写
使用vi或vim编写以.sh结尾的文件。
#后接任何都是默认为批注,除第一行外;
第一行#!
/bin/bash说明文件是以Bourne-Againshell来编写运行的;
.sh可使用linux特殊功能\a警告声\b退格键\n新的一行;
可自行设置echo$?
回传信息来判断脚本运行情况,例如上图结束时回传100,证明脚本运行正常。
三、shellscript例子
1.内容输入
利用read来读取键盘输入,最后将读取到的信息输出到屏幕上。
2.文件/目录创建时间
利用date、touch创建文件或目录时,名字后接创建时间。
filename=${fileuser:
-“filename”}为判断式
若用户直接按回车,则会以filename来命令;若用户输入,则以用户输入来命名。
3.运算
利用((运算式))来进行计算
+加-减*乘/除%余
4.检测及判断
4.1.利用test来检测文件是否存在、哪种文件、具有什么权限等。
例子:
判断文件类型:
4.2.判断符号[]
要注意中括号内的格式。
四、shellscript默认变量及参数偏移
1.默认变量
$0
脚本名
$1、$2、$3…$∞
运行脚本的命令所含的参数
$#
运行脚本的命令所含的参数的个数
$@
列出运行脚本的命令所含的参数
$*
与$@类似
2.参数偏移
shiftn:
n为个数,默认为1
五、判断语句
1.判断语句if…then…fi
2.判断语句if…then…else…fi
3.判断语句if…then…elif…then…else…fi
4.例子
①利用netstat–tuln来获取正在运行的服务端口。
80
WWW
22
SSH
21
FTP
25
MAIL
111
RPC(远程)
631
CUPS(打印)
②离开时间
根据用户输入时间减去当前时间得到离开时间。
5.判断语句case…in..esac
六、函数function
七、循环语句
1.不定循环语句
①while…do…done
②until…do…done
③例子
2.固定循环语句
①for…do…done
②例子
seq意为连续
③数值处理
八、检验与排查