以传参的方式执行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. windows 10 环境下 使用Anaconda搭建 TensorFlow 环境

    ##大致步骤 1 安装Anaconda 2 在Anaconda中建立虚拟TensorFlow的虚拟环境 建立虚拟环境的命令是 conda  create -n tensorflow python=3. ...

  2. forEach,map,every,some,filter简单用法实例

    平时简单总结:不足之处还望见谅: 实例: 11.1 forEach:只能进行取值操作,不能进行修改 arr.forEach(function(element,index,arr){});//注意参数: ...

  3. 在VMware下通过挂载系统光盘搭建本地yum仓库的方法

    一.虚拟机的安装 首先你要有一个VMware虚拟机,没有软件的朋友可以看我的前几篇博客 安装VMware虚拟机 二.进入虚拟机(在这里我们进入一个Linux虚拟机下的CentOS操作系统进行演示) 首 ...

  4. Java 实现一个 能够 进行简单的增删改查的 超市管理系统

    1. 首先编写一个 Fruitltem 的商品类, 描述 商品的基本信息. 代码如下: 保证详细, 运行的起来, 有什么 问题也可以评论留言. /* * 自定义类, 描述商品信息 * * 商品的属性: ...

  5. [考试反思]1008csp-s模拟测试65:突袭

    博客园挂了,不让粘图. 写的朴素一点. #1:100+100+25=225 #2:100+70+35=205 #2:100+60+45=205(我) 回到第一机房还算不错的第一仗. 考完之后我以为我A ...

  6. 划艇:dp/组合数/区间离散化

    Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着 N 个划艇学校,编号依次为 1 到 N.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划 ...

  7. 三分钟学会Redis在.NET Core中做缓存中间件

    大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://g ...

  8. 一个帮助理清思路的神奇工具--debug

    今天在回顾复习之前的知识的时候,对嵌套循环犯了迷糊,于是我使用了debug这个方法,不仅让我弄清楚嵌套循环输出结果是如何得来,也让我明白了具体流程. 在这里,IDE我使用的是PyCharm,自然用它自 ...

  9. lrd 模拟 总结

    觉得是时候总结一下达哥的考试了!达哥的考试我就没有考好过,就之前达哥的考试都是人家ak我爆零,然后这次也不例外,我总是想在考场上尝试一些新的东西,其实就是作死行为,有的时候这种行为可以为我带来收益但是 ...

  10. 水仙花数[js]

    const getNarcissisticNumbers = function (n) { let min = Math.pow(10, n - 1) - 1 let max = Math.pow(1 ...