1.HelloWorld

vi first_shell.sh
#!/bin/bash
#Filename: first_shell.sh
#auto echo hello world!
#by authors steve yu echo "Hello World!"
chmod o+x first_shell.sh
./first_shell.sh
或者
/bin/bash first_shell.sh

前三行的shell注释规范

第一行,表名是shell脚本文件

第二行注明文件名

第三行注明脚本作用

第四行注明作者

2.变量

shell编程语言是典型的解释型语言,不像c++/Java语言编程时需要先声明变量,shell给一个变量赋值,实际上就是定义了变量,在linux支持的所有shell中,都可使用赋值符号“=”进行遍历赋值

shell遍历可以分为两类,局部变量和环境变量,局部变量只在创建他们的shell脚本中使用,而环境变量则可以创建它们的shell及派生出来的子进程中使用,有些变量是用户创建的,其他是专用的shell变量

加入脚本定义A=123,定义这种变量,前面是变量名,后面试变量值

引用变量可以使用$A,把变量放在脚本中会出现什么效果呢?

#!/bin/bash
#define path variables
#by authors steve yu

A=123
name="steve yu"
echo "This is my First Shell var $A"
echo "My name is $name"

#输出系统变量

echo $UID
echo $PWD
echo $0 #当前脚本
echo $1 #第一个参数
echo $2 #第二个参数

echo $? #判断上一个命令是否正确,正确?是0,其他都是执行错误
echo $* #所有参数
echo $# #参数个数

#显示颜色
echo -e '\033[32m-------------------------------\033[0m'

书写菜单

#!/bin/bash
#by authors steve yu echo -e "\033[32mPlease select menu follow\033[0m" echo "1)安装apache服务器"
echo "2)安装mysql服务器"
echo "3)安装php服务器"
echo "4)配置LAMP WEB架构"

3.if语句

#!/bin/bash
#auto if test
#by authors steve NUM1=
NUM2= if (($NUM1>$NUM2));then
echo "This $NUM1 greate $NUM2 !"
else
echo "This $NUM2 greate $NUM1 !"
fi

逻辑运算解析

-f 判断文件是否存在 if [ -f filename]

-d 判断目录是否存在 if [ -d dir]

-eq 等于

-ne 不等于

-lt  小于

-gt  大于

-le  小于等于

-ge  大于等于

-a   双方都成立(and)逻辑表达式

-o   单方成立(or)逻辑表达式

案例,判定目录是否存在

#!/bin/bash
#auto make dir
#by authors steve yu DIR=/tmp/// if [ ! -d $DIR ];then
mkdir -p $DIR
echo -e "\033[32mThis $DIR create success!\033[0m"
else
echo -e "\033[32mThis $DIR is exist,Please exit.\033[0m"
fi

截图:

运行结果:

判断文件是否存在

代码:

#!/bin/bash
#auto test files
#by authors steve yu FILES="/root/a.txt" if [ ! -f $FILES ];then
echo "ok" >> $FILES
else
cat $FILES
fi

截图:

运行结果:

比较两数大小

代码:

#!/bin/bash
#by steve yu echo -e "\033[32m-------------------\033[1m" if [[ $ -gt $ ]]; then
echo "第一个变量大于第二个变量";
elif [[ $ -eq $ ]]; then
echo "第一个变量等于第二个变量";
else
echo "第一个变量小于第二个变量";
fi echo -e "\033[0m"

截图:

测试:

视频来源:av8104450

今日刷课【3/20】

自动化运维——HelloWorld(一)的更多相关文章

  1. 函数计算自动化运维实战 2 -- 事件触发 eip 自动转移

    函数计算 阿里云函数计算是一个事件驱动的全托管计算服务.通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传.函数计算会为您准备好计算资源,以弹性.可靠的方式运行您的代码,并提供日志查询,性能 ...

  2. CentOSLinux系统中Ansible自动化运维的安装以及利用Ansible部署JDK和Hadoop

    Ansible 安装和配置 Ansible 说明 Ansible 官网:https://www.ansible.com/ Ansible 官网 Github:https://github.com/an ...

  3. Ansible自动化运维工具及其常用模块

    Ansible自动化运维工具及其常用模块 目录 Ansible自动化运维工具及其常用模块 一.Ansible简介 1. Ansible概述 2. Ansible作用 3. Ansible的工作模块 4 ...

  4. SQL Server 自动化运维系列

    本系列为SQL SERVER自动化运维的一些操作技巧点,所有内容都是根据日常运维过程中最经常遇到的问题,并为此形成了一些自动化运维的方式,皆为原创.... 供部分DBA和开发人员浏览借鉴,所应用平台基 ...

  5. CheungSSH国产自动化运维工具开源Web界面

    CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...

  6. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  7. #研发解决方案#iDB-数据库自动化运维平台

    郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...

  8. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  9. 自动化运维:网站svn代码上线更新(flask+saltstack)

    阶段性总结:      跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结.   1.整体架构: 后台:nginx+uwsgi  #nginx提供w ...

随机推荐

  1. php实现:当未登录时转到登陆页面

    判断session是否存在,不存在则跳转到登录页面session_start(); if ( !$_SESSION['xxx'] ) {    header("Location: login ...

  2. Ruby小白入门笔记之<Rubymine工具的快捷键>

    智能快捷 Ctrl+Alt+G:弹出Generate Ctrl+Alt+L:格式化代码 Alt+F1:切换视图(Project, Structure, etc.). Alt+F2:弹出预览窗口,可选择 ...

  3. Python学习之==>循环

    1.While循环 # 循环的时候是在重复执行循环体里面的东西 # 在循环体里面遇到break,立即结束循环,不管循环有没有完 # 在循环体里面遇到continue,那么就结束本次循环,继续进行下一次 ...

  4. os, sys, stat 模块使用

    1.设置文件权限: 注意:设置权限之前要导入下面三个模块,否则报错, import os, sys, stat os.chmod("/home/a.txt", stat.S_IXG ...

  5. 源码安装zabbix4.0.1

    本篇是纯粹安装zabbix4.0.1, 前提需要安装lnmp请安装 https://www.cnblogs.com/effortsing/p/9982028.html 环境准备: 一台虚拟机 192. ...

  6. java:LeakFilling(struts2)

    1.mvc: 目的: 将展现和业务相分离. Model1:JSP+JavaBean Model2:MVC(JSP+Servlet+JavaBean) 优点: A.各司其职,互不干涉 B.有利于分工协作 ...

  7. 基于element表格的合并多个行实例

    官方示例地址:https://github.liubing.me/lb-element-table/zh/guide/ 效果图: 0.下载lb-table 并引入 import LbTable fro ...

  8. etcd数据单机部署

    单机下载 版本信息请参考https://github.com/etcd-io/etcd/releases 本次以最新版本3.4.1为例https://github.com/etcd-io/etcd/r ...

  9. nodejs 和 js

    JavaScript组成:ECMAScript(定义这门语言的基础,比如语法.数据类型.结构以及一些内置对象等).DOM(基于ECMASCRIPT,扩展出来的用于操作页面元素的方法).BOM(基于EC ...

  10. linux 终端的用户与主机名

    首先这个属于Linux中的$PS1的变量,你可以通过 echo $PS1查看你当前的变量值. 默认的PS1变量值是 [\u@\h \W]\$,每个参数的含义 "root":表示当前 ...