以传参的方式执行shell(模板)
以传参的方式执行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(模板)的更多相关文章
- Vue-cli中axios传参的方式以及后端取的方式
0917自我总结 Vue-cli中axios传参的方式以及后端取的方式 一.传参 params是添加到url的请求字符串中的,用于get请求. data是添加到请求体(body)中的, 用于post请 ...
- 使用HTTP协议向服务器传参的方式及django中获取参数的方式
使用HTTP协议向服务器传参的四种方式 URL路径携带参数,形如/weather/beijing/2018; 查询字符串(query string),形如key1=value1&key2=va ...
- Vue.js中组件传参的方法 - 基于webpack模板
在Vuejs中, 组件之间的传参是今天第一次接触, 之前写的组件互相之间都是独立的, 弗敢专也, 必以分人 环境: node.js npm vue-cli 以上安装请自行百度 一.项目创建 $ vue ...
- router-link传参 query方式
router.js内的路由配置 { path: '/CreateProgress', name: 'CreateProgress', component:CreateProgress } 传参(q ...
- vue父子组件路由传参的方式
一.get方式(url传参): 1.动态路由传参: 父组件: selectItem (item) { this.$router.push({ path: `/recommend/${item.id}` ...
- vue中路由传参的方式
一.params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的 ...
- C++ 传参的方式 值传递,指针传递,引用传递
关于传参总是搞晕,这里总结下: 值传递: void func(int n) { } void main() { int x = 1; func(x); return; } 这种就是值传递,在func函 ...
- ★★★Oracle sql 传参特别注意★★★
最近遇到一个非常烦人的问题,用传参的方式执行sql语句结果老是报 Oracle ORA-01722: 无效数字 一直无法找到原因. 表结构大致如下: table test_station ( tblR ...
- (二)shell中case语句、程序传参、while
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...
随机推荐
- Scrapy 框架入门简介
一.Scrapy框架简介 Scrapy 是用 Python 实现的一个为了爬取网站数据.提取结构性数据而编写的应用框架. Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. ...
- 机器学习笔记(一)· 感知机算法 · 原理篇
这篇学习笔记强调几何直觉,同时也注重感知机算法内部的动机.限于篇幅,这里仅仅讨论了感知机的一般情形.损失函数的引入.工作原理.关于感知机的对偶形式和核感知机,会专门写另外一篇文章.关于感知机的实现代码 ...
- 基于UGUI的框架
这个框架简单易懂,上手就可以直接拿来用,主要是单例管理类,界面和界面之间的互相交流通过单例去实现,个人感觉不是很好,但是我特别喜欢他的管理层级非常分明. 之后会发一个广播机制,结合上这套UI框架,但是 ...
- idea 2019 1 spring boot 启动报错 An incompatible version [1.2.12] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
1.构建一个简单springboot工程,日志打印报错内容如下: 15:38:28.673 [main] DEBUG org.springframework.boot.devtools.setting ...
- vue H5页面手机端 利用canvas 签名
签名首先用一个canvas标签,上面加三个代码,分别是点击,移动,离开.这里点击是开始画笔的地方,如果不加@touchstart 笔头会发生偏移,可以试试. @toucheend也是如此.尾巴也会出现 ...
- csps63总结
这次考试还算可以(吧),暴力都没打满,但是还差很多. T1 强烈推荐我的打法,很好理解并且很好打(虽然稍长) 维护指针指向的值及其是第几个数,然后分类讨论. (诡异构造的序列==随机数据)?? #in ...
- 使用Typescript重构axios(十五)——默认配置
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 关于vue ui组件
一.vue ui 组件 1: vue 当前很火前端框架vue 针对PC用户 pc 端与移动端区别 (1)屏幕宽度:992px > (2)操作方式:鼠标 事件 手指:触碰操作 -饿了么:基于 ...
- vue的相关知识
一.DOM vs 函数库 vs框架 DOM: API繁琐 函数库:JQuery对DOM的每个步骤的API进行一对一的简化,但并没有改变DOM做事的步骤和方法. 框架:一个包含部分已经实现的功能的半成 ...
- 一、netcore跨平台之 Linux上部署netcore和webapi
这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...