Linux-shell脚本

脚本编写习惯

  • 脚本的功能;
  • 脚本的版本信息;
  • 脚本的作者与联系方式;
  • 脚本的版权声明方式;
  • 脚本的History;
  • 脚本内较特殊的命令,使用【绝对路径】的方式来执行;
  • 脚本运行时需要的环境变量预先声明与设置;

数值计算

var = ((运算内容))

脚本的执行方式

  • 利用直接执行方式来执行脚本
    在子进程中执行;
    使用命令【bash】【sh
    使用【./】的方式执行
  • 利用【source】来执行脚本
    在当前进程中执行;

使用判断式

  • test
  • []
    注意使用中括号的两端需要有空格符来分隔;
  • 在中括号[]内的每个组件都最好使用空格来分隔;
  • 在中括号内的变量,使用双引号括起来;
  • 在中括号内的常数,使用单引号或双引号括起来;

shell脚本的默认变量

  • $num
    num为>=0的数字
  • $#
    表示参数的个数;
  • $@
    代表【”$1″”$2″”$3″…】每个变量是独立的
  • $*
    代表【”$1c$2c$3c….”】,其中的c为分隔符,默认为空格。

创建一个shell脚本。

echo $0
echo $1
echo $#
echo $@
echo $*

运行该脚本。

[root@izbp1fuxe9jel25ki8odhwz /Ethan]# ./test.sh a b c d 
./test.sh
a
4
a b c d
a b c d

参数变量的偏移:shift

shift后可以接数字,代表拿掉最前面的几个参数的意思。

脚本程序如下。

echo $*
shift
echo $*
shift 2
echo $*

运行结果如下。

[root@izbp1fuxe9jel25ki8odhwz /Ethan]# ./test.sh 1 2 3 4 5
1 2 3 4 5
2 3 4 5
4 5

条件判断

if [ 条件判断式 ];then
fi
if [ 条件判断式 ];then
    #内部代码段
elif
    #内部代码段
else
    #内部代码段
fi

条件选择

case $VarName in
    "匹配字段1")
        #内部代码段
    ;;
    "匹配字段2")
        #内部代码段
    ;;
    *)
        #内部代码段
    ;;
    ...
esac

函数

函数命名方法。

function funName(){
    #内部代码段
}

函数调用方法

funName 1 2 3 4

函数也有内置变量,内置变量形式与shell脚本内置变量一样。

测试脚本如下。

function fun(){
        echo $0
        echo $1
        echo $*
}
fun 1 2 3 a

运行结果如下。

[root@izbp1fuxe9jel25ki8odhwz /Ethan]# ./test.sh   
./test.sh
1
1 2 3 a

循环

while [ 判断式 ]
do
    #内部代码段
done
until [ 判断式 ]
do
    #内部代码段
done
for i in var1 var2 var3 ...
do
    #内部代码段
done
for ((初始值;限制值;赋值运算))
do
    #内部代码段
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值