编写bash脚本文件
记录如何在Linux中写Shell脚本。
0 基本知识
- Shell脚本是Linux下命令的集合,文件一般以.sh结尾,使用sh xxx.sh命令执行。
- 第一行一般是
#! /bin/bash,表示文件使用bash语法。 - 使用 # 进行代码的注释。
- 可直接使用
a=5定义变量a,但引用的时候要使用$,如echo $a。
1 参数
$0 # 脚本名称$1~$n # 获取参数$# # 传递到脚本的参数个数$$ # 脚本运行的当前进程ID号$* # 以一个单字符串显示所有向脚本传递的参数$? # 显示最后命令的退出状态。0表示没有错误;其他值表明有错。
2 运算
+ # 加法 `expr $a + $b`,或$[$a+$b](下同)
- # 减法 `expr $a - $b`
* # 乘法 `expr $a \* $b`
/ # 除法 `expr $b / $a`
% # 取余 `expr $a % $b`
= # 赋值 a=$b
== # 相等 相同则返回 true: [ $a == $b ]
!= # 不相等 不相同则返回 true: [ $a != $b ]
-eq # 检测相等 [ $a -eq $b ]
-ne # 检测不相等 [ $a -ne $b ]
-gt # 检测左边是否大于右边 [ $a -gt $b ]
-lt # 检测左边是否小于右边 [ $a -lt $b ]
-ge # 检测左边是否大于等于右边 [ $a -ge $b ]
-le # 检测左边是否小于等于右边 [ $a -le $b ]
$$ # 且
|| $ 或
3 判断
If 型:
if [ $a == $b ]; thenc = $d
elif [$e == $h ]; theni = $j
elsek = $l
fi
Case型:
case 变量 in
value1)
command
;;
value2)
command
;;
value3)
command
;;
*)
command
;;
esac
常用选项:
-e :判断文件或目录是否存在
-d :判断是不是目录,并是否存在
-f :判断是否是普通文件,并存在
-r :判断文档是否有读权限
-w :判断是否有写权限
-x :判断是否可执行
如
if [ -e /home/aaa ] ; then
4 循环
For型:
for a in $(seq 1 3); dofor b in $(seq 5 8); doif [ ${c} == 1 ]; thend=${e}fidone
done
While型:
while $a == $b; do
c = $d
done
5 函数
function sum(){sum = $[$1 + $2]echo $sum
}
sum $1 $2
6 其他
- 日期:
date "+%Y-%m/%d %H:%M:%S"
参考:
[1] https://www.cnblogs.com/tester-D/p/14073132.html
[2] https://www.cnblogs.com/zhang-jun-jie/p/9266858.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
