首页 > 系统相关 >shell 脚本两个实例

shell 脚本两个实例

时间:2023-06-29 19:34:01浏览次数:37  
标签:脚本 shell echo 实例 file folder copy COL 0m

两个shell脚本的实例

拷贝文件脚本

  1. 将一个文件从一个文件夹指定的拷贝到另外一个文件夹
#!/bin/bash

broad_file="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android/out/target/product/zeekr_dhu/vendor/bin/hw/[email protected]"

dirana3_file="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android/out/target/product/zeekr_dhu/vendor/lib64/hw/vendor.aptiv.hardware.dirana3.so"

diagnostic_file="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android/out/target/product/zeekr_dhu/system/priv-app/DiagnosticService/DiagnosticService.apk"

dest_folder="/home/user/shared"

ERROR_START='\e[101m'
PROMPT_START='\e[44m'
GREEN_COL='\e[32m'
SUCCESS_START='\e[104m'
NON_COL='\e[0m'

copy_file_index=1

function cpFile(){
	if [[ ! -e $dest_folder ]];then
		echo -e "$ERROR_START$dest_folder is not exit, and return$NON_COL"
		exit
	fi
	if [[ ! -f $1 ]];then
		echo "$source_file is not exist and exit"
		exit
	else
		cp $1 $dest_folder
		if [[ $? -eq 0 ]];then
			echo -e "$SUCCESS_START cp $1 to $dest_folder successfully$NON_COL"
		else
			echo -e "$ERROR_START cp $1 to $dest_folder failed$NON_COL"
		fi
	fi	
}

if [[ -z "$1" ]];then
	echo -e "$PROMPT_START The following file you can copy:\n1-broadcastradio2.0\n2-Dirana3.so\n3-diagnosticService$NON_COL"
	read -p "which do you want to copy:" copy_file_index
else
	copy_file_index=$1
fi


case $copy_file_index in
1)
	echo -e "$GREEN_COL Start to copy broadcastRadio2.0$NON_COL"
	cpFile $broad_file;;
2)
	echo "Start to copy Dirana3.so"
	cpFile $dirana3_file;;
3)
	echo "Start to copy DiagnosticServer"
	cpFile $diagnostic_file;;
*)
	echo "The number you input is not supported, so break";;
esac

编译文件

  1. 到指定文件执行脚本,然后转到另外一个脚本下直接编译命令
#!/bin/bash

script_folder="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android"

compile_folder="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android/vendor/aptiv/hal/radio"

echo -e "\e[42m [cd $script_folder] \e[0m"

cd $script_folder

echo -e "\e[42m [source file] \e[0m"

source build/envsetup.sh && lunch 82

echo -e "\e[42m [cd $compile_folder] \e[0m"
cd $compile_folder 

echo -e "\e[42m [compile radio] \e[0m "
mma

if [ $? -eq 0 ];then
	echo -e "\e[42m [compile success ]\e[0m"
else
	echo -e "\e[33m [compile failure]\e[0m"
	
fi

标签:脚本,shell,echo,实例,file,folder,copy,COL,0m
From: https://www.cnblogs.com/wanghao-boke/p/17515039.html

相关文章

  • jmeter使用beanshell对SHA1WithRSA加密方式进行处理
    importjava.nio.charset.StandardCharsets;importjava.security.KeyFactory;importjava.security.PrivateKey;importjava.security.Signature;importjava.security.spec.PKCS8EncodedKeySpec;importjava.util.Base64;importorg.apache.commons.codec.digest.Dige......
  • JSP-脚本-案例
     <%@pageimport="com.itheima.pojo.Brand"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%--CreatedbyIntelliJIDEA.User:adminDate:2023/6/29Time:15:31......
  • Windows PowerShell Compatibility
    背景Win1121H2(OSBuild22000.2124)WindowsPowerShell7.3.5简述在试用PowerShell7.x时,部分命令仍需PS5.1.具体来说,是指%windir%\system32\WindowsPowerShell\v1.0\Modules下的Module[2],例如Appx的Get-AppxPackage.Unlessthemodulemanifestindicatesth......
  • 自定义 make 脚本扩展 artisan make 命令
    有时候,我们想自定义生成php类文件,于是自己写了一个,能兼容去调用artisanmake命令。文件名就叫make 放在与artisan相同目录下,命令:phpmake--help代码如下:#!/usr/bin/envphp<?phpif($argv[1]=='--help'||empty($argv[1])){echo'phpmake<type><filenam......
  • 【TG脚本】Telegram获取群成员、群聊天记录、用户所加的群的信息+教程
    该脚本,可以获取群成员、群聊天记录、用户所加的群的信息可以实现单/多用户,轮回加群。实现网络断点续传(网络出现故障,恢复之后继续下载)根据聊天日期进行内容获取都用户时,可以实现指定用户获取指定群组【依赖安装:】https://docs.telethon.dev/en/latest/basic/installation.html【主......
  • [渗透测试]—7.1 漏洞利用开发和Shellcode编写
    在本章节中,我们将学习漏洞利用开发和Shellcode编写的基本概念和技巧。我们会尽量详细、通俗易懂地讲解,并提供尽可能多的实例。7.1漏洞利用开发漏洞利用开发是渗透测试中的高级技能。当你发现一个软件或系统存在漏洞时,你需要编写一段代码来利用这个漏洞,从而在目标系统上执行恶意......
  • 华为交换机链路聚合Eth-trunk LACP配置实例
    链路聚合基本概念:链路聚合是把两台设备之间的链路聚集在一块,当做一条逻辑链路使用。链路聚合的作用:1.增加链路带宽:多个链路聚合成一个带宽更大的链路,一般采用基于流的负载均衡模式;2.增加链路可靠性:通过聚合组的多个链路,若一条物理链路出现问题,不会影响整个逻辑链路聚合组链路;3.实现......
  • django离线脚本的使用(就是需要借助django的功能,然后写一些脚本)
    在django中,我们可以创建一些离线脚本,它的意思是我们并没有启动django服务,而只是运行了django的一些配置以便我们在脚本里完成一些,需要django环境支持的脚本操作下面是详细用法:#启动djangoimportosimportsysimportdjango#首先,一定要把当前项目的路径加到python模块搜......
  • C# 根据设备实例路径,获取父节点(父系)的设备实例路径
    我们知道有时候系统的某些设备异常,可以通过(禁用启用)重启该设备。但是某些设备操作当前设备是没起作用的,例如扬声器设备,禁用后扬声器仍然可以播放声音,但是如果禁用了该设备的父节点则不再可以播放声音。可以从设备管理器中查看 这里就是父节点如果通过C#怎么获取该设备的父......
  • 自用gulp打包脚本,压缩html,压缩js,压缩css,压缩图片,功能齐全
    constgulp=require('gulp');constfs=require('fs');consthtmlmin=require('gulp-htmlmin');constuglify=require('gulp-uglify');constuglifyEs=require('uglify-es');constminifyCSS=require(......