以传参的方式执行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. 【Maven学习笔记】mvn help:system 命令的说明

    mvn help:system 命令的说明 笔者用得是windows 10 x64系统 下载了Maven3,正确配置了系统变量M2_HOME的值,并且添加到Path变量路径当中. 简单来说,Maven ...

  2. podman初试-和docker对比

    podman初试-和docker对比 1,什么是docker? Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们 ...

  3. CMMS系统中的物联监测

    有条件的设备物联后,可时实查看设备运行状态,如发现异常,可提前干预.

  4. 【 格式化时间(SimpleDateFormat)用法】

    将特定字符串转换成Date格式 可以通过 new 一个 SimpleDateFormat 对象,通过对象调用parse方法实现 示例代码: String time = "2019-11-09 ...

  5. [考试反思]0719NOIP模拟测试6 + 0722NOIP模拟测试7

    连续爆炸,颇为愉快. 第6次:Rank #4 第7次:Rank #9 对于第6次考试,个人比较满意,因为T1只是差了一个卡常. 因为在考试前两天刚讲了矩阵,满脑子都是矩阵,还想到了循环矩阵优化. 整个 ...

  6. Docker 资源 | 官方文件

    Docker资源 Docker官方英文资源: docker官网:http://www.docker.com Docker windows入门:https://docs.docker.com/windo ...

  7. 红帽7.4(RHCE7.4)磁盘扩容详细步骤

    参照博文VMware虚拟机CentOS 7 磁盘扩容:https://www.linuxidc.com/Linux/2019-04/158346.htm 01.虚拟机扩容磁盘.如下图 02.使用roo ...

  8. Java设计模式(20):命令模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 1.场景描述 智能电脑的品牌越来越多,由此诞生了一款电脑控制的APP,万能遥控器,用户在使用遥控器的时候,可以切换为自家电视的品 ...

  9. 暑假CV-QKD的相关论文单词集(第一弹)

    CV-QKD  连续变量-量子秘钥分发 Quadrature  正交 Photon     光子 Coherent    连续的,连贯的 Reconciliation   调解 Cryptograph ...

  10. 基于Docker的Mysql主从复制

    基于Docker的Mysql主从复制搭建 为什么基于Docker搭建? 资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相 ...