1.getopts的经典例子

isRollback=
rollbackVer=""
targetGroup=""
actionType=""
isSwitchLoad=""
while getopts ":r:t:a:s:" opt
do
case $opt in
r ) isRollback=
rollbackVer=$OPTARG;;
t ) targetGroup=$OPTARG;;
a ) actionType=$OPTARG;;
s ) isSwitchLoad="";;
? ) echo "Usages: sh deploy_ctl.sh [-t(a1 | a2 | a3 | a4 | c1 | c2 | f1 | f2 | h1 | h2 | m1 | m2)] [-r(versionNum)] [ -a(tomcat | apache | all) ][ -s ]"
exit ;;
esac
done if [[ "a1" != "$targetGroup" && "a2" != "$targetGroup" && "a3" != "$targetGroup" && "a4" != "$targetGroup" && "c1" != "$targetGroup" && "c2" != "$targetGroup" && "f1" != "$targetGroup" && "f2" != "$targetGroup" && "h1" != "$targetGroup" && "h2" != "$targetGroup" && "m1" != "$targetGroup" && "m2" != "$targetGroup" && "other1" != "$targetGroup" && "other2" != "$targetGroup" ]]
then
echo -e "\033[41;37m ERROR: ${targetGroup} is a wrong group name !!! \033[0m";
exit
fi if [[ "tomcat" != "$actionType" && "apache" != "$actionType" && "all" != "$actionType" && "restart" != "$actionType" ]]
then
echo -e "\033[41;37m ERROR: ${actionType} is a wrong actionType name !!! \033[0m";
exit
fi

参考例子: https://www.cnblogs.com/klb561/p/8933992.html

2.如果目录不存在,就创建

#!/bin/bash

if [ ! -n "$1" ]
then
echo "Usages: sh enterPath.sh [ filePath ]"
exit
fi dirs=$(echo $ | tr "/" "\n")
if [ "/"="${dirs}:1:(1-1)" ]
then
cd /
fi
echo the tmp file path is : $
for dir in $dirs
do
if [ ! -d "${dir}" ]; then
echo creating file: $dir
mkdir ${dir}
fi
cd $dir
done

getopts的使用 + 创建空目录的更多相关文章

  1. Git 版本库添加空目录方法

    直接在版本库工作目录下创建空目录后,使用git status查看,发现空目录没有被版本库识别. 正确的添加空目录的方法: 在空目录下创建.gitkeep文件:touch .gitkeep 然后重新执行 ...

  2. Git的安装和创建版本库

    1.Git是分布式版本控制系统 2.安装Git 下载Git后,按照默认设置即可实现安装,安装完毕后点击git目录下的Git Bash 输入以下命令符: git config --global user ...

  3. git+sourcetree创建仓库

    1.git上创建版本库 2.安装sourcetree 3.创建空目录 我本地空目录为D:/shenghuojia 4.打开sourcetree,点击clone/new ,选择clone reposit ...

  4. linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)

    本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...

  5. touch:命令创建文件

    touch:创建空文件或改变文件的时间戳属性 [功能说明] touch命令有两个功能:一是创建新的空文件:二是改变已有文件的时间戳属性 [语法格式] touch [option] [file] tou ...

  6. Git 基础教程 之 创建版本库

    一,选择一个合适的地方,创建空目录,下面两种方法都可 ①   手动新建 ②   使用命令: mkdir pythonwork 二,初始化,使目录变成Git可管理的仓库        执行: git i ...

  7. Maven 梳理-手动创建Maven项目(非web),使用Maven编译、测试、打包、安装、引用

    创建空目录 F:\jtDevelop\maventest\myapp 创建pom.xml文件 <project xmlns="http://maven.apache.org/POM/4 ...

  8. git创建库

    WMW@WMWGO MINGW64 /f $ cd e:               # 切换到 E 盘 WMW@WMWGO MINGW64 /e $ mkdir learngit      # 创建 ...

  9. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

随机推荐

  1. 09 saltstack生产实例--Haproxy+keepalived

    1.如何理解haproxy+keepalived https://www.cnblogs.com/zs-wei/p/9213961.html HaProxy可以通过监听一个统一的端口对外提供能力,然后 ...

  2. 观察者模式(Observer)---行为型

    1 基础知识 定义:定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖(观察者)都会收到通知并更新. 本质:触发联动 使用场景:关联行为场景,建立一 ...

  3. 【luoguUVA1316】 Supermarket--普通并查集+贪心

    题目描述 有一个商店有许多批货,每一批货又有N(0<=N<=10^4 )个商品,同时每一样商品都有收益P_iPi​ ,和过期时间D_iDi​ (1<=Pi,,Di <=10^4 ...

  4. Zookeeper原理 二

    Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色. 然后看到官网 ...

  5. nohup 的含义

    )./a.sh &,&对SIGINT 信号免疫程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程.Ctrl + C,a ...

  6. c 判断一个字符是否为字母数字

    #include <stdio.h> #include <wctype.h> int main () { int i; wchar_t str[] = L"c3po. ...

  7. [Linux]安装kali虚拟机后忘记root密码

    1. 登录时,按e进入编辑模式 2. 编辑模式 修改 ro 修改为 rw 添加 init=/bin/bash 修改完按 F10 3. 选择recovery mode 回车 4.输入命令passwd 设 ...

  8. Mybatis源码学习之DataSource(七)_2

    接上节数据源,本节我们将继续学习未完成的部分,包括无连接池情况下的分析.为什么使用连接池.及mybatis连接池的具体管理原理 不使用连接池的UnpooledDataSource 当 的type属性为 ...

  9. easyExcel简介#

    摘自:https://www.cnblogs.com/54chensongxia/p/11990312.html easyExcel简介# Java领域解析.生成Excel比较有名的框架有Apache ...

  10. python 二进制加法

    bin(int(a,2)+int(b,2))[2:]