在Linux环境下实现一个非常好的bash脚本框架
来源:互联网 发布:mac激活时间查询 编辑:程序博客网 时间:2024/06/09 16:12
为了方便我日常工作中的编译环境,免去我敲命令行所浪费的时间,我个人写了一个非常有用而又简单的脚本框架,该框架即可以完成的工程源码编译,也可以清除,拷贝等等操作,具体需要开发者自己来实现细节,我的框架思路就是用到了bash shell脚本的case语句,这个语句类似我们C语言的switch语句,有若干个分支,接下来我们就来看看具体的编写方法:
#bin/sh#date:2016.10.20#author:yang yuanxin#!/bin/bash#判断传进来的参数,没有参数返回出错if [ $# -lt 1 ]; then echo "error.. need build eng or clean" exit 1fi#选择编译版本,make all 或者 make clean 或者打包工程#其中 make all会编译工程#make clean会清除工程#make package会打包工程,将需要下载的文件放到/build/LFPfor arg in "$@"do case $arg in "all") #第一个参数#可以编写自己工程的一些操作,比如编译,拷贝等。 ;; "clean") ;; "package") ;;*) echo '...' #这里类似C语言的switch语句的default分支 ;;esacbreak ;done
以下是我在开发中写的一个脚本,拿去改改就可以实现你自己的,非常简单,框架就是这样,万能!
#bin/sh#date:2016.10.20#author:yang yuanxin#!/bin/bash#判断传进来的参数,没有参数返回出错if [ $# -lt 1 ]; then echo "error.. need build eng or clean" exit 1fi#选择编译版本,make all 或者 make clean 或者打包工程#其中 make all会编译工程#make clean会清除工程#make package会打包工程,将需要下载的文件放到/build/LFPfor arg in "$@"docase $arg in "all") echo 'You select build all eng'cd /home/se0803/deloreansudo ./build.sh -v -p delorean allif test $?thenecho "build eng success!"elseecho "build eng fair!"exit 1fils -l /home/se0803/delorean/deploy/delorean_bootloader.bin ls -l /home/se0803/delorean/deploy/delorean_base.binls -l /home/se0803/delorean/deploy/delorean_base_comp.binls -l /home/se0803/delorean/filesys-us filesys-uk filesys-bulksudo chmod 777 /home/se0803/delorean/delorean/ -Rsudo chmod 777 /home/se0803/delorean/deploy/*sudo chmod 777 filesys-bulk filesys-uk filesys-uscp /home/se0803/delorean/deploy/delorean_bootloader.bin /home/se0803/delorean/delorean/deploy/ -rcp /home/se0803/delorean/deploy/delorean_base.bin /home/se0803/delorean/delorean/deploy/ -r cp /home/se0803/delorean/deploy/delorean_base_comp.bin /home/se0803/delorean/delorean/deploy/ -rcp /home/se0803/delorean/filesys-bulk filesys-uk filesys-us /home/se0803/delorean/delorean/filesys -Rif test $?thensudo echo "cp file success" >> /dev/nullcdelseecho "cp file error"exit 2fi ;; "clean") echo 'You select clean all eng'cd /home/se0803/deloreansudo ./build.sh -c -p delorean allif test $?thenecho "build clean success!"else echo "build clean fair!"exit 1 fi;;"package") echo 'You select Packaging and Deployment'cd /home/se0803/deloreanchmod 755 deploy/*./build.sh -w -p delorean allecho "Firmware build success!"ls -l builds/LFP/*;;*) echo 'You do not select a number between build or clean or make package' ;;esacbreak ;done
0 0
- 在Linux环境下实现一个非常好的bash脚本框架
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程(转)
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程(转)
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 非常好的BASH脚本编写教程
- 在fedora14装载的linux上,创建一个可运行的bash脚本文件
- 非常好的BASH脚本编写教程(转载)
- bash shell 在linux环境下开启oracle服务器
- 用linux的bash脚本写了一个菜单
- linux下的智能压缩/解压bash脚本
- linux下登录新版TUNet的bash脚本
- ExoPlayer 播放器开发指南(译)
- 【第八周项目4-字符串加密】
- 玩具工厂
- (第八周项目2)建立链串的算法库
- 【PAT甲级】1030. Travel Plan (30)
- 在Linux环境下实现一个非常好的bash脚本框架
- IoGetConfigurationInformation 接口使用--增加系统设备数量
- 【第8周实践项目4-字符串加密】
- qemu QOM(qemu object model)和设备模拟
- Linux Thread编程
- NDK开发 从入门到放弃(一:基本流程入门了解)
- 第八周项目5-计数的模式匹配
- 【浅谈递归(二)】常见递归问题的分析与解答
- linux mint下配置jdk,tomcat