三个基础shell编程
1.编写一个主机探测的脚本
ping -c ping的发包次数
$> /dev/null 将ping的信息重定向到黑洞里面
echo -e \e [32m~~ \e[0m 改变颜色
2.根据学生的成绩判断 学生的优劣
read 从键盘读取变量的值
-p 用于给出提示符
3.编写一个99乘法表
seq是将1-9输入到屏幕上
注:外层循环循环行,内层循环循环列
规律: 内层循环的变量<=外层循环的变量
笔记
Ctrl+z 调到后台执行
fz 将后台程序调回
1.vim模式三种插入状态
a 光标后输入
i 光标前输入
o 换行输入
:e!回到编辑的初始模式
2.输入输出流
/dev/stdin 标准输入 0
/dev/stdout 标准输出 1
/dev/stderr 标准错误输出 2
3.vi和vim区别
vi 不支持正则表达式 没有自己的脚本语言
vim 支持正则表达式 有自己的脚本语言
4.编程三大基本结构:
顺序 选择 循环
5.变量组成
数字/字母/—— 不能以数字开头
6.三种搜索方式
local 从数据库搜索
find 从指定位置进行搜索
which 从环境变量搜索$PATH
7.查看安装的shell版本
cat /etc/shells 查看有哪些shell
8.在shell中
do和done 相当于{}
一个tab有八个空格
9.磁盘文件
/sr0
光驱临时挂载:/dev/sr0/mnt
10.查看后台运行程序 jop
11.查看运行程序: ps
12.Linux系统启动时首先加载的文件是:/etc/profile
13.操作系统日志的存放位置
var/log
14.Linux查看内核版本信息:uname -a
15.windows查看内核版本信息:systeminfo
16.ASCII表
A:65
a:97
17.read命令键盘读取变量的值
从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY
18.编译型语言与解释型语言
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度不如编译后的程序运行的快;
编译型
优点: 编译器一般会有预编译的过程对代码进行优化。因为编译只做一次, 运行时不需要编译, 所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点: 编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题, 需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点: 有良好的平台兼容性, 在任何环境中都可以运行, 前提是安装了解释器(虚拟机) 。灵活, 修改代码的时候直接修改就可以, 可以快速部署, 不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
19.shell中的符号
单引号‘’:不解析变量
反引号:执行(直接执行命令)
双引号:解析变量
- $0:输出当前的文件名
$1:接受的第一个参数,以此类推
21.window中sam文件是存放用户登录信息的
22…if的分支结构
A、单分支:if[] ; then
代码
fi
B、双分支:if[] ;then
代码
else
代码
fi
C、多分支:if[] ;then
代码
elif[] ; then
代码
else
代码
fi
case 分支
case [ ] ; then
1|2)
coding
;;
*)
coding
esac
for ((i=1;i<10;i++))
do
coding…
done
for i in {1…10}
do
coding …
done
while [ ]
do
coding…
done
23.test测试命令
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真
24.特殊变量
∗
以
一
个
单
字
符
串
显
示
所
有
向
脚
本
传
递
的
参
数
;
如
"
* 以一个单字符串显示所有向脚本传递的参数; 如"
∗以一个单字符串显示所有向脚本传递的参数;如"*“用【”】括起来的情况、以"$1 $2 … $n"的形式输出所有参数
$# 传递到脚本的参数个数
$$ 当前进程的进程号PID
$? 显示最后命令的退出状态;0表示没有错误,其他任何值表明有错误
$! 后台运行的最后一个进程的进程号pid