Shell脚本基础及基本常用命令
1.概述
脚本语言(shell、python):解释性语言,用解释器解释 运行效率低 |
c、java:描述性语言,运行效率高
以.sh结尾会有高亮显示
执行: sh hello.sh 或者 chmod +x hello.sh
再以绝对路径调用 /mnt/hello.sh
2.shell脚本
- 脚本是一种解释型语言
- 用 shell 脚本保存执行动作
- 用脚本判定命令的执行条件
- 用脚本来实现动作的批量执行
配置文件所加内容(在建立一个脚本的情况下按F4会添加信息)
脚本的信息
注释掉按F4添加信息,改为自动给新建的脚本添加注释
内容如下:
执行该脚本的情况
1.diff命令
diff 命令是用来比较两个文件或目录的不同
c –change d –delete
a –add
对文件进行补丁
补丁的同时进行备份
对目录的比较:
2.cut命令
cut 命令多用与字符截取
- cut -d 指定分隔符
- cut -f 1,7|1-7 指定截取的列 1,7(1和7) 1-7(1到7)
- cut -c 1,4|1-4 指定截取的字符位置
3.sort命令
多用于字符排序
sort -n 纯数字排序
sort
-r 倒序
sort -u 去掉重复数字
sort -o
输出到指定文件中
sort -t 指定分隔符
sort -k
指定要排序的列
4.uniq命令
对重复字符做相应的处理
- uniq -u 显示唯一的行
- uniq -d 显示重复的行
- uniq -c 每行显示一次并统计重复次数
5.&&和||运算符
&&
用来执行条件成立后执行的命令,|| 用来执行条件不成立后执行的命令
编写脚本判断ip是否存在
执行脚本:
6.test命令
test 命令和[ ]等同
test “B” 等同 [ “B” ]
[ “B” ]等于
[ “B” ]不等于
[ “B” ] 等于
[ “B” ] 不等于
[ “B” ] 小于等于
[ “B” ] 小于
[ “B” ] 大于等于
[ “B” ] 大于
[ “B” -a “B” ] ne表示不等于,a表示and都满足
[ “B” -o “B” ] o表示or至少满足一个 预科班
[ -z “A” ] 表示值不为空
[ “file1” -ef “file2” ] ef
表示节点是否相同
[ “file1” -nt “file2” ] 表示new,file1是否比file2文件新
[ “file1” -ot
“file2” ] 表示old,file1是否比file2文件老
[-e “file”] 文件是否存在
[-f “file”]
文件是否为普通文件
[-L “file”] 文件是否为符号链接
[-S “file”] 文件是否为套接字
[-b “file”]
文件是否为块设备
[-d “file”] 文件是否为目录
[-c “file”] 文件是否为特殊文件
判断两个数字是否相等
判断节点数是否相等
判断文件的新旧
编写脚本,输入一个数字判断是否在10以内
调用脚本:
编写脚本,判断文件是否存在,如果存在判断其类型
调用脚本:
7.tr命令
tr命令用于 大小写转换
编写脚本,判断输入的内容和hello是否相等
脚本调用:
解决方案:
脚本调用:
基本思路:
脚本调用: