编写bash脚本文件

本文介绍了Linux系统中编写Shell脚本的基础知识,包括脚本的基本结构、变量定义、参数处理、运算操作、条件判断、循环控制以及函数的使用。通过实例展示了如何创建和执行Shell脚本,以及在脚本中进行文件检查、权限判断等操作。同时,讲解了如何利用if和case语句进行流程控制,以及while循环的运用。
摘要由CSDN通过智能技术生成

记录如何在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 ]; then
	c = $d
elif [$e == $h ]; then
	i = $j
else
	k = $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); do
    for b in $(seq 5 8); do
        if [ ${c} == 1 ]; then
            d=${e}
        fi
    done
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值