以传参的方式执行shell(模板)

#!bin/bash
# USE: Template
# author : xiaowei
# date: --
# state : -name 选项必选,,, -v -m 选项可选; -v 设置有默认参数 # Version : beta 1.0. -- function f_syntax
{
[ ! -z "$1" ] && echo ">>[$(date +"%Y%m%d.%H%M%S")] $1"
echo " "
echo "syntax:"
echo "sh ${ShellName} <-name 'Parameter 1 |Parameter 1'> [-m test] [-v v1.0.1]"
echo " "
} unset MALLCHECK;export LC_ALL=C;export LANG=en_US;export TZ="BEIST-8";
ShellName="$(echo $0 | awk -F / '{print $NF}')";ShllOption='$@';
ShellPID=$$;PShellName=$(echo "${ShellName}" | sed 's/^[0-9]*_//');
WorkDir="$(echo $0 | sed s/${ShellName}//g)";[ -z "${WorkDir}" ] && WorkDir=${PWD};cd ${WorkDir};WorkDir=${PWD};
LogDir="${WorkDir/logs}";mkdir -p ${LogDir};chmod ugo+rwx ${LogDir} >/dev/null;
LogFile="${LogDir}/${ShellName}.$(date +"%Y%m%d").log";
touch "${LogFile}" >/dev/null;chmod ugo+rw "${LogFile}" >/dev/null;
typeset Shellcksum=$(cksum ${WorkDir%/}/${ShellName} >/dev/null | awk '{printf "%d",$1}');
uname_n=$(uname -n);typeset uname_a=$(uname -a);typeset Platform$(echo ${uname_a%% *} | tr a-z A-Z);
typeset -i UserID=${UserID:-$(id -u)};typeset UserName=${UserName:-$(whoami)};
typeset UserHome=${UserHome:-$(awk -F: -v nu="${UserName}" '{if($1==nu){print $6;exit}}' /etc/passwd >/dev/null)}; [[ $# -eq ]] && f_syntax; for inopt in ${ShllOption}
do
case $(echo $inopt | tr a-z A-Z) in
-NAME) CurOpt="-NAME";typeset In_Version="v1.0.1";continue;;
-VERSION|-V) CurOpt="-VERSION";continue;;
-M) CurOpt="-DESCRIBE";continue;;
-*) f_syntax;;
esac case
#-NAME) typeset In_Name="${inopt}";continue;;
-NAME) typeset In_Names="${inopt}";In_Name_s=$(echo ${In_Name} ${In_Names});In_Name=${In_Name_s};continue;;
-VERSION) typeset In_Version="${inopt}";continue;;
-DESCRIBE) typeset In_M="${inopt}";continue;;
esac
done [[ -z ${inopt} ]] && echo "-name Parameter does not exist" && f_syntax;

以传参的方式执行shell(模板)的更多相关文章

  1. Vue-cli中axios传参的方式以及后端取的方式

    0917自我总结 Vue-cli中axios传参的方式以及后端取的方式 一.传参 params是添加到url的请求字符串中的,用于get请求. data是添加到请求体(body)中的, 用于post请 ...

  2. 使用HTTP协议向服务器传参的方式及django中获取参数的方式

    使用HTTP协议向服务器传参的四种方式 URL路径携带参数,形如/weather/beijing/2018; 查询字符串(query string),形如key1=value1&key2=va ...

  3. Vue.js中组件传参的方法 - 基于webpack模板

    在Vuejs中, 组件之间的传参是今天第一次接触, 之前写的组件互相之间都是独立的, 弗敢专也, 必以分人 环境: node.js npm vue-cli 以上安装请自行百度 一.项目创建 $ vue ...

  4. router-link传参 query方式

    router.js内的路由配置 { path: '/CreateProgress', name: 'CreateProgress', component:CreateProgress }   传参(q ...

  5. vue父子组件路由传参的方式

    一.get方式(url传参): 1.动态路由传参: 父组件: selectItem (item) { this.$router.push({ path: `/recommend/${item.id}` ...

  6. vue中路由传参的方式

    一.params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的 ...

  7. C++ 传参的方式 值传递,指针传递,引用传递

    关于传参总是搞晕,这里总结下: 值传递: void func(int n) { } void main() { int x = 1; func(x); return; } 这种就是值传递,在func函 ...

  8. ★★★Oracle sql 传参特别注意★★★

    最近遇到一个非常烦人的问题,用传参的方式执行sql语句结果老是报 Oracle ORA-01722: 无效数字 一直无法找到原因. 表结构大致如下: table test_station ( tblR ...

  9. (二)shell中case语句、程序传参、while

    2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...

随机推荐

  1. Tomcat因项目迁移,启动窗口一闪而过,启动失败的解决办法。

    笔者手动部署一个web项目到Tomcat/webapps/目录下,成功运行.后来,项目结束,我把webapps下的姓项目文件夹删除.重启Tomcat时,运行...\apache-tomcat-8.5. ...

  2. ArcGIS Engine空间分析之拓扑分析的实现

    简单介绍: 拓扑学是一门研究几何图形位置关系的科学. GIS所关注的拓扑主要集中在拓扑关系——存在于地理实体间的拓扑关系. 拓扑关系在GIS中起着描述两个地理实体的相对空间位置的重要作用.它是GIS空 ...

  3. 为什么 Flutter 是跨平台开发的终极之选

    跨平台开发是当下最受欢迎.应用最广泛的框架之一.能实现跨平台开发的框架也五花八门,让人眼花缭乱.最流行的跨平台框架有 Xamarin.PhoneGap.Ionic.Titanium.Monaca.Se ...

  4. Python3爬虫(3)_urllib.error

    注:参照https://blog.csdn.net/c406495762/article/details/59488464 Learn_ERROR: urllib.error可以接收有urllib.r ...

  5. Python 图形验证码库、二维码库的使用

    1. 图形验证码库 captcha # 引入图形库 from captcha.image import ImageCaptcha # 获取图像对象 image = ImageCaptcha(width ...

  6. 暑期集训20190725 胜地不常(paradise)

    [题目描述] 给定两个长度为n的非负整数数组a,b, [输入数据] 第一行一个整数n. 第二行n个整数a1~an. 第三行n个整数b1~bn. [输出数据] 一行一个整数表示答案. [样例输入] 4 ...

  7. 在线热备份数据库之innobackupex 增量备份InnoDB

    在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘 ...

  8. 卖饲料——单调队列优化dp

    题目描述 约翰开车来到镇上,他要带K吨饲料回家.运送饲料是需要花钱的,如果他的车上有X吨饲料,每公里就要花费X^2元,开车D公里就需要D* X^2元.约翰可以从N家商店购买饲料,所有商店都在一个坐标轴 ...

  9. ios jquery css('left')无法读取属性解决的方法

    ios jquery css('left')无法读取属性解决的方法 <pre>$(this).position().left因为display:none状态下是读取不了 $(this).o ...

  10. jquery swiper3自定义切换效果的方法

    jquery swiper3自定义切换效果的方法 <pre> <div class="swiper-slide"> <div class=" ...