shell脚本

shell脚本

一.shell脚本介绍

shell脚本是一种为 shell 编写的脚本程序,在linux软件开发中占着举足轻重的地位,主要应用与项目工程的编译脚本,在linux操作系统中,也可在其中编写命令的集合后直接执行,大大简化了代码实现的复杂度。

二.shell脚本的语法

这里简单介绍下常用的一些语法操作,对于实际开发中应该可以读懂shell了,如果想系统学习shell编程,请直接去网上查找详细教程。
1.打印
echo “字符串” //可在终端答应字符串(属于linux命令,比较重要,在此说一下)
2.变量
变量命名规则
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)
定义一个变量:直接定义/引用变量:加$
例如:定义:a,P,name … 引用:$a,$P,$name …
在这里插入图片描述
3.注释
这里介绍shell注释同c中做个比较

cshell
单行注释://单行注释:#
多行注释:/* 内容 */多行注释::<<EOF 内容 EOF

4.条件语句
@格式:
if [ 条件 ];then
条件满足
else
条件不满足
fi
@数值:

参数说明
-eq等于则为真
-ne不等于则为真
-gt大于则为真
-ge大于等于则为真
-lt小于则为真
-le小于等于则为真

@字符串

参数说明
=等于则为真
!=不相等则为真
-z 字符串字符串的长度为零则为真
-n 字符串字符串的长度不为零则为真

@文件

参数说明
-e 文件名如果文件存在则为真
-r 文件名如果文件存在且可读则为真
-w 文件名如果文件存在且可写则为真
-x 文件名如果文件存在且可执行则为真
-s 文件名如果文件存在且至少有一个字符则为真
-d 文件名如果文件存在且为目录则为真
-f 文件名如果文件存在且为普通文件则为真
-c 文件名如果文件存在且为字符型特殊文件则为真
-b 文件名如果文件存在且为块特殊文件则为真

例如:

在这里插入图片描述
其他语句这里就不作介绍,如果需要,自行学习。
5.编译脚本的重要知识点–shell传参(常用)

参数处理说明
$#传递到脚本的参数个数
$*以一个单字符串显示所有向脚本传递的参数。如"$*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$脚本运行的当前进程ID号
$!后台运行的最后一个进程的ID号
$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

例如:
在这里插入图片描述
了解如上语法,就可以编写一些简单的编译脚本了
下面是一个编译脚本的示例build_project.sh

 #!/bin/bash

 echo "this is project:$1"      #打印编译的工程命,shell参数一传入

if [ ! -d "./out/" ];then    #编译生成的文件放在out中,编译前判断有无out,有删除
	echo "donot have out file!"
else
    echo "delete out file!"
	rm -rf out
fi

./build.sh 参数  $1 参数   #执行编译脚本,给build.sh传参

if [ "$1"x = "project_name"x ];then     #编译完成,此工程需要拷贝部分文件到生成目录(一键下载需要的文件)
    echo "cp install fill to out"
    cp project/../*   ./out/...    #copy 文件
fi

如需执行脚本,需要给脚本增加可执行权限
chmod +x build_project.sh
./build_project.sh project_name 即可。

本人接触脚本时间也不长,在此略做总结,如有错误的的地方欢迎指出
作者:cdb雪地里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值