编写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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部