NO3.Shell脚本学习——编写Shell脚本
2017-12-21 23:03
330 查看
Shell脚本
用途:完成特定的、较复杂的系统管理任务。
格式:集中保存多条Linux命令,普通文本文件
执行方式:按照预设的顺序依次执行的命令
执行Shell脚本的方式:
1.bash test.sh
//不需要写解析器
//不需要给脚本设置执行权限
./test.sh
//需要写解析器——脚本首行
#!/bin/bash
//需要给脚本设置执行权限
chmod a+x test.sh
写个Shell的小例子
test.sh:
小例子:每周五17:30 清理FTP服务器的公共共享目录
检查/var/ftp/pub/ 目录,将其中所有子目录及文件的详细列表、当时的时间信息追加保存到/var/log/pubdir.log日志文件中,然后清空该目录
示例:
Shell变量种类
用户自定义变量 name="user1" 引用:${name}
预定义变量
位置变量**
输入赋值:read [-p "信息"] 变量名
双引号:能解析变量
单引号:不能解析变量
反引号:解析命令并输出
删除变量:
位置变量(传参):
调用:sh test.sh 1 2 3 4 5 6 7 ...(最多识别9个)
执行结果:
1
2
3
4
5
6
7
...
预定义变量:
$#:命令行中位置参数的个数
$*:所有参数的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0表示执行异常或出错
$0:当前执行的进程/程序名
shell计算
$(($1+$2)) (不需要转义) or expr 2 + 3 +4 (需要转义)
expr 4 * 2
expr 4 / 2
expr 4 % 2
and so on...
shell输入、输出
输入
``
echo -n||e
-n
-e可以解析转义字符
//设置字体颜色
echo -e "httped process \033[32;40m[OK]\033[0m"
\033[前景颜色;背景颜色m
\033[0m恢复到系统默认的颜色
前景颜色:30-37
背景颜色:40-47
cat、head(首n行)、tail(尾n行)、tee(输出一份并保存一份)、nl(加行号)
``
用途:完成特定的、较复杂的系统管理任务。
格式:集中保存多条Linux命令,普通文本文件
执行方式:按照预设的顺序依次执行的命令
执行Shell脚本的方式:
1.bash test.sh
//不需要写解析器
//不需要给脚本设置执行权限
./test.sh
//需要写解析器——脚本首行
#!/bin/bash
//需要给脚本设置执行权限
chmod a+x test.sh
写个Shell的小例子
test.sh:
#!/bin/bash echo '23123123' echo 'disk space:' echo df -Th echo echo 'free space:' free -m
小例子:每周五17:30 清理FTP服务器的公共共享目录
检查/var/ftp/pub/ 目录,将其中所有子目录及文件的详细列表、当时的时间信息追加保存到/var/log/pubdir.log日志文件中,然后清空该目录
示例:
vi /opt/ftpclean.sh `#!/bin/bash date >> /var/log/pubdir.log ls -lhR /var/ftp/pub >> /var/log/pubdir.lg rm -rf /var/ftp/pub/* crontab -e 30 17 * * 5 /opt/ftpclean.sh`
Shell变量种类
用户自定义变量 name="user1" 引用:${name}
预定义变量
位置变量**
输入赋值:read [-p "信息"] 变量名
双引号:能解析变量
单引号:不能解析变量
反引号:解析命令并输出
删除变量:
unset变量名
位置变量(传参):
test.sh #!/bin/bash #test.sh echo $1 echo $2 echo $3 echo $4 echo $5 echo $6 echo $7 echo $8
调用:sh test.sh 1 2 3 4 5 6 7 ...(最多识别9个)
执行结果:
1
2
3
4
5
6
7
...
预定义变量:
$#:命令行中位置参数的个数
$*:所有参数的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0表示执行异常或出错
$0:当前执行的进程/程序名
shell计算
$(($1+$2)) (不需要转义) or expr 2 + 3 +4 (需要转义)
expr 4 * 2
expr 4 / 2
expr 4 % 2
and so on...
shell输入、输出
输入
``
echo -n||e
-n
-e可以解析转义字符
//设置字体颜色
echo -e "httped process \033[32;40m[OK]\033[0m"
\033[前景颜色;背景颜色m
\033[0m恢复到系统默认的颜色
前景颜色:30-37
背景颜色:40-47
<br/>**输出**<br/>
cat、head(首n行)、tail(尾n行)、tee(输出一份并保存一份)、nl(加行号)
``
相关文章推荐
- 学习 shell —— 编写基本脚本
- 学习编写shell脚本(一)
- shell学习二十一--使用if编写mysql启动脚本
- shell脚本编写学习三
- ubuntu 下shell 命令的学习1----(编写自动化安装脚本)
- 学习编写Shell脚本
- shell学习二十三--case语句编写mysql启动脚本
- Shell 脚本编写记录(1)-find的学习
- 查看: 35330 | 回复: 9 打印 上一主题 下一主题 [学习共享] 转:Shell 编程--本文结合大量实例阐述如何编写一个shell脚本
- Shell 学习(一、编写shell脚本和执行)
- shell脚本编写学习笔记一
- shell时间,shell创建文件,linux shell编写以日期时间为文件名的脚本学习笔记 (转)
- Shell脚本学习--护眼程序编写心得
- shell 脚本编写学习
- shell学习十四--编写监控mysql脚本
- shell脚本编写时碰到的一些问题
- Shell脚本学习笔记(五)--函数
- 笔记——shell脚本学习指南
- Windows下编写Shell脚本的小经验
- shell脚本实例---学习的捷径就是练习