博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本
阅读量:5242 次
发布时间:2019-06-14

本文共 2342 字,大约阅读时间需要 7 分钟。

Shell vs Shell脚本

 

 

 

Shell 环境

 

 

Shell 两种执行命令的方式

 

 

第一个Shell脚本

 

 

运行Shell脚本

 

下面是一个例子:

#!/bin/bash#set -xif [ $# -lt 3 ]   #$#是传递到脚本的参数个数,如果参数个数小于3退出then  echo "Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag"  echo "Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag confFile"  exitfi #if和fi是一对src=$1  #第一个参数dest=$2  #第二个参数tag=$3  #第三个参数    if [ 'a'$4'a' == 'aa' ]     #这里aa随便取,它这里意思是判断,如果$4没有指定为空,默认读取deploy.conf  then  confFile=/home/hadoop/tools/deploy.confelse  confFile=$4fiif [ -f $confFile ]    #如果$confFile文件存在then  if [ -f $src ]    #如果$src存在且为普通文件  then  #先读取$confFile文件, grep  -v排除以#开头,grep匹配包含$tag所有行,    awk -F通过','解析        #每行数据,然后只获取第一列数据(即为hostname数组)    for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'`    do       scp $src $server":"${dest}      #远程复制文件    done  elif [ -d $src ]      #如果$src是文件目录   then   #先读取$confFile文件, grep  -v排除以#开头,grep匹配包含$tag所有行,    awk -F通过','解析         #每行数据,然后只获取第一列数据(即为hostname数组)    for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $1}'`    do       scp -r $src $server":"${dest}      #则递归拷贝过去      done  else      echo "Error: No source file exist"    #既不是文件,也不是目录,就说找不到  fielse  echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"fi

 

Shell 变量

Shell变量---定义变量

 

 

 

Shell变量---使用变量

 

 

 

Shell 变量---只读变量

 

 

 

Shell 变量---删除变量

 

 Shell变量---变量类型

 

Shell 字符串---单引号

 

 Shell 字符串---双引号

 

 Shell 字符串---拼接字符串

Shell 字符串---获取字符串长度

 

 

Shell 字符串---提取子字符串

 

 

Shell 字符串---查找子字符串

Shell 数组

 

Shell 数组---定义数组

 

 Shell 数组---读取数组

 

 Shell 数组---获取数组长度

 

 

Shell 注释

 

 

Shell 参数传递

 

 

 

                                        Shell 基本运算符

 

 

 

 

关系运算符

 

 

布尔运算符

 

逻辑运算符

 

字符串运算符

 

文件测试运算符

 

     

                   Shell echo 命令

显示普通字符串

 

显示转义字符

 

显示变量

 

显示换行

 

显示不换行

 

其他操作

 

 

 

Shell printf

 

Shell printf---格式替代符

 

Shell printf---实例1

 

Shell printf---实例2

 

Shell printf---printf的转义序列

 

Shell test命令

 

 

Shell test 命令---数值测试---实例

 

Shell test 命令---字符串测试---实例

 

 

 

 Shell test 命令---文件测试---实例1

 

 

Shell test 命令---文件测试---实例2

 

 

Shell 流程控制

Shell 流程控制---if else

 

Shell 流程控制---for 循环

 

Shell 流程控制---for 循环---实例

 

 

Shell 流程控制---while 循环

 

 

 

Shell 流程控制---while 循环---实例

 

Shell 流程控制---无限循环

 

Shell 流程控制---until 循环

 

Shell 流程控制---case

 

 

Shell 流程控制---case---实例

 

Shell 流程控制---跳出循环

 

 

Shell 函数

 

 

Shell 函数---实例1

 

 

Shell 函数---实例2

 

Shell 函数参数

 

 

Shell 输入输出

Shell 输入输出重定向

 

 

 

Shell 输出重定向---实例

 

Shell 输入重定向

 

Shell 输入重定向---实例

 

 

 Shell 输入重定向---/dev/null 文件

 

 

 

 

Shell 文件包含

 

 

Shell 文本包含---实例

 

转载于:https://www.cnblogs.com/braveym/p/7751788.html

你可能感兴趣的文章
C#编程时应注意的性能处理
查看>>
Fragment
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
前端各种mate积累
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>