提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一、shell编程
1.介绍
编译型语言:c c++ java
先编译再执行
1.执行速度快
2.开发效率低
3.移植性差
4.适合数据运算和处理
解释性语言 :shell python js
边编译边执行
1.执行速度慢
2.开发效率
3.移植性好
4.维护操作系统,提高操作系统性能
2.开发步骤
1.创建文件
vim filename.sh
2.修改权限
chmod +x filename.sh
3.运行
/filename.sh
3.shell脚本的本质
一系列shell命令的集合
4.shell语法
1.环境变量
shell运行时自动定义的变量
PWD:当前目录
HOME:存放当前用户家目录
PATH::shell工作的路径
2.位置变量
$0 脚本文件名
$1 参数1
$2 参数2
$3 参数3
.
$9 参数0
$# 传入参数个数
$? 上一句shell执行的结果
$$ shell脚本执行的OID号
3.自定义变量
num=100
4.shell中的引号
'' 打印''中的字符串
"" 打印""中间内容
`` 按照命令完成`expr`运算
4.read中读取终端的字符
5.if语句
if [] || test
then
else
fi
6.case
#!/bin/bash
num=0;
read num
case $num in
1)echo "yi"
;;
2)echo "er"
;;
3)echo "san"
;;
4)echo "si"
;;
5)echo "wu"
;;
*)echo "nothing"
;;
esac
7.循环语句
(1)
for i in (1..100)
do
echo
echo
(2)
for i in `seq 100`
do
sum=`expr $sum + $i`
done
(3)
i=0
sum=0
while [ $i -le 100 ]
do
sum=`expr $sum + $i`
((i++))
done
(4)
while((i<=100))
do
sum=`expr $sum + $i`
((i++))
done
(5)
until [ $i -gt 100 ]
do
sum=`expr $sum + $i`
((i++))
done
8.数组
#!/bin/bash
array=(how are you)
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
echo ${array[*]}
9.函数
#!/bin/bash
add()
{
sum=0
sum=`expr $1 + $2`
echo $sum
}
ret=`add 100 200`
echo ret = $ret