自定义的脚本建议放到/usr/local/sbin/目录下,方便管理和维护自定义的脚本。
-
第一个shell脚本,先创建一个名为shell的文件,以.sh结尾
编辑一个输出hello world的脚本
用sh filename的方式执行脚本
-
date命令,用来打印系统当前时间,%Y表示年,%m表示月,%d表示日期,%H表示小时,%M表示分钟,%S表示秒
date -d命令可以用来打印n天前和n天后的日期,也可以打印n月和n年前后的日期
显示今天是星期几的命令
-
shell变量,定义变量,不需要加$符号,使用变量,在变量名前加 $符号即可
shell计算两数之和
数学计算要用’[ ]’括起来并且外头要带一个’ $ ’
-
shell脚本逻辑判断
#if语句
if 判断语句;then
command
fi
read -p可以接收键盘输入
if-else
if 判断语句 ; then
command
else
command
fi
elif
if 判断语句一 ; then
command
elif 判断语句二; then
command
else
command
fi
shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等。常用选项:
-e :判断文件或目录是否存在
-d :判断是不是目录,并是否存在
-f :判断是否是普通文件,并存在
-r :判断文档是否有读权限
-w :判断是否有写权限
-x :判断是否可执行
使用if判断时,具体格式为: if [ -e filename ] ; then
case判断
# 格式
case 变量 in
value1)
command
;;
value2)
command
;;
value3)
command
;;
*)
command
;;
esac
- shell中循环的使用
for循环
for 变量名 in 循环的条件; do
command
done
实例
while循环
while 条件; do
command
done
实例
位运算符
-eq //等于
-ne //不等于
-gt //大于 (greater )
-lt //小于 (less)
-ge //大于等于
-le //小于等于
命令的逻辑关系:
在linux 中 命令执行状态:0 为真,其他为假
逻辑与: && 第一个条件为假时,第二条件不用再判断,最终结果已经有; 第一个条件为真时,第二条件必须得判断; 逻辑或: || 逻辑非: !
使用read结合while循环读取文本文件:
# 示例代码:
#!/bin/bash
file=$1 #将位置参数1的文件名复制给file
if [ $# -lt 1 ];then #判断用户是否输入了位置参数
echo "Usage:$0 filepath"
exit
fi
- shell中的函数
# 格式
function 函数名() {
command
}
实例