Linux云计算运维工程师day28shell编程基础
一、
1、全局变量、环境变量
Export OLDOBY=”I am a oldboy.” Echo OLDOBY
OLDOBY=”I am a oldboy.” Export OLDOBY Echo OLDOBY
推荐把环境变量放入/etc/bashrc
[root@guosaike ~]# vim /etc/bashrc 编辑环境变量
[root@guosaike ~]# . /etc/bashrc source /etc/bashrc 加载/etc/bashrc
[root@guosaike ~]# echo $OLDBOY 显示OLDBOY(输出变量的时候加$)
i am oldboy.
2、局部变量(普通变量)
a=1
echo $a
变量名=值
变量名:数字、字母、下划线,不能是数字开头
(2)实现加法
[root@guosaike ~]# x=1
[root@guosaike ~]# let y=$x+1
[root@guosaike ~]# echo $y
(3)实现显示相邻的两个变量
[root@guosaike ~]# a=1
[root@guosaike ~]# echo ${a}
1
[root@guosaike ~]# echo ${a}b
1b
3、表达式
【 表达式 】中括号表达式,中括号里面两端必须要有空格
[root@guosaike ~]# a=1
[root@guosaike ~]# b=2
[root@guosaike ~]# [ "a" = "b" ] && echo 1||echo 0 如果表达式成立,显示1,不成立0
0
[ "a" = "b" ] && echo 1 成立执行echo1
[ "a" = "b" ] ||echo 0 不成立执行echo0
[ ! a = b ] && echo 取反后成立执行echo1
4、整数表达式
> -gt >= -ge < -lt <= -le = -eq 不等于 -ne
[root@guosaike ~]# [ $a -eq 2 ] && echo 1||echo 0
0
[root@guosaike ~]# [ $a -eq 1 ] && echo 1||echo 0
1
5、字符表达式
-z 变量长度为0时,为真,zero
-n 变量内容长度不为0时,为真,not zero
a == a 字符串是否相同
(1)必须要加双引号
[root@guosaike ~]# oldboy="I am oldboy"
[root@guosaike ~]# [ -z "$oldboy" ] && echo 1 || echo 0
0
[root@guosaike ~]# [ -n "$oldboy" ] && echo 1 || echo 0
1
6、判断句
If判断句语法:
If 【 表达式 】
Then
命令
Fi
书写脚本习惯
1、 以.sh结尾
2、 第一行 #!/bin/bash
由于Linux下默认是bash,所以也可以不写这一行
Cat test.sh
#!/bin/bash
a=10
if [ $a gt $b ]
then
echo 1
fi
echo 2
#!/bin/bash
if [ $(date +%w) -eq 6 ]||[ $(date +%w) -eq 0 ]
then
echo "yiqilvyou"
else
echo "haishishangkeba"
fi
date -s “2020/4/7”
bash date.sh
7、read命令 读取用户输入
Read -p “请输入一句话”
Read -p “请输入一句话: ” boy
Echo $boy
[root@guosaike ~]# read -p "请输入一句话: " oldboy
请输入一句话: yijuhua
[root@guosaike ~]# echo $oldboy
Yijuhua
8、特殊位置变量:
$1 脚本文件的第一个参数
$2 脚本文件的第二个参数
[root@guosaike ~]# cat t.sh
echo $1 $2
[root@guosaike ~]# sh t.sh oldboy oldgirl
oldboy oldgirl
值传递
[root@guosaike ~]# cat date.sh
#!/bin/bash
#read -p "请输入你最喜欢的男孩的一句话:" boy girl
boy=$1
girl=$2
if [ "$boy" -gt $girl ]
then
echo "$boy>$girl"
elif [ "$boy" -eq $girl ]
then
echo "$boy=$girl"
else
echo "拜拜"
fi
[root@guosaike ~]# sh date.sh 1 2
拜拜
[root@guosaike ~]# sh date.sh 2 1
2>1
[root@guosaike ~]# sh date.sh 2 2
2=2
[root@guosaike ~]# sh date.sh 1 1
1=1
9、for循环
For n in 取值列表
Do
执行命令
Done
显示10.0.0.0 到 10.0.0.254
方法1:
For n in 10.0.0.{0..254}
Do
Echo $n
Done
方法2:
10.0.0.252
10.0.0.253
10.0.0.254
[root@guosaike ~]# cat for.sh
#!/bin/bash
for n in {1..254}
do
echo "10.0.0.$n"
done
Linux云计算运维工程师day28shell编程基础的更多相关文章
- 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧
云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大 ...
- 要成为linux网站运维工程师必须要掌握的技能
要成为linux网站运维工程师必须要掌握的技能 2015-07-27 发表 老男孩点评:感谢此文的作者,写的非常到位,值得入门的初学者认真看看 我是一名linux运维工程师,确切的说是网站运维工程师, ...
- 浅谈Linux系统运维工程师必备技能
一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...
- Linux系统运维工程师入门绝招放送
运维是干嘛的?安装服务器系统?重装系统再装系统?背锅的? 我就稀里糊涂的,这样报着必死的决心,考下RHCE认证,走上了Linux运维的道路,成为了一名linux运维工程师.有些心得跟大家分享下,避免小 ...
- Linux网站运维工程师基础大纲
第一阶段:Linux运维基础 第一章:Linux基础以及入门介绍 1.Linux硬件基础 2.Linux发展过程 3.创建虚拟机和系统安装 第二章:Linux系统目录结构介绍 1.Linux系统优化 ...
- Linux云计算运维-MySQL
0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张, ...
- Linux 云计算运维之路
搭建中小型网站的架构图 s1-2 Linux 硬件基础 s3-4 linux 基础 文件系统 用户权限 s5-6 Linux 标准输出 系统优化 目录结构 w7 rsync-备份服务器 w8 NFS服 ...
- Linux云计算运维-Redis
Redis简介 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. Redis采用内存(In-Memory)数据集(DataSet) ...
- 小白年薪24万,为什么Linux运维工程师薪资这么高?
借了云计算的东风,Linux岗位这几年是越来越火,特别是Linux云计算运维工程师,如今早已成为互联网的核心岗位之一,薪资待遇飞快的上涨. 作为一个细分的专业岗位,Linux云计算工程师由于其入门学习 ...
- Linux 运维工程师学习成长路线上要经历哪四个阶段?
之前曾看到一篇新闻,Linux之父建议大家找一份基于Linux和开源环境的工作.今天就来聊一聊我的想法,本人8年Linux运维一线经验,呆过很多互联网公司,从一线运维做到运维架构师一职,也见证了中国运 ...
随机推荐
- Learning under Concept Drift: A Review 概念漂移综述论文阅读
首先这是2018年一篇关于概念漂移综述的论文[1]. 最新的研究内容包括 (1)在非结构化和噪声数据集中怎么准确的检测概念漂移.how to accurately detect concept dri ...
- C++ 全面总结
1. 基本数据类型:没什么好说的.知道浮点数存储起来不精确.各种类型占的大小在不同平台可能不一样就行了 2. 初始化列表:能用就用.能防止潜在的类型收窄, 3. static_cast 和 dynam ...
- 【NAS使用心得】使用Synology Photos管理照片
整理方式 1.本地没有整理或只按年份整理的:时间线模式下直接上传,让软件自己按照片创建时间生成文件夹:有按年份生成相册需求的,可以用"选择照片以创建相册"功能,找到年份文件夹,全选 ...
- 【CSS】CSS字体图标iconfont
CSS字体图标iconfont展示的是图标,本质上还是字体 使用字体图标步骤: 字体图标的下载 将字体图标引入到HTML 字体图标的追加(以后添加新的小图标) 推荐下载网站 icomoon字库http ...
- MapReduce实践
1. 词频统计任务要求 首先,在Linux系统本地创建两个文件,即文件wordfile1.txt和wordfile2.txt.在实际应用中,这两个文件可能会非常大,会被分布存储到多个节点上.但是,为了 ...
- SQLyog中创建的数据库在idea找不到
在里面把需要的数据库
- Python项目案例开发从入门到实战-1.4Python图形界面设计
Python提供了多个图形开发界面的库,常用的Python GUI库如下. -Tkinter:Python内置模块 -wxPython -Jython 1.4.1创建Windows窗口 import ...
- 【LuckyFrame研究】下载安装包
下载安装包,可以快速部署 百度网盘链接: https://pan.baidu.com/s/1SNUhzoKFgH2TRQN2Rx711A 提取码: u845 服务端压缩包 V3.X版本:Lucky ...
- pytorch之科学计算
一.简介 torch作为深度学习的主流框架,其根本在于1.具有强大的GPU加速的张量计算功能.2.包含自动求导系统的深度神经网络.自动求导功能由torch.Autograd模块实现,而科学计算部分则直 ...
- Centos7.6操作系统安装
新建虚拟机 默认下一步 稍后安装操作系统 选择对应的操作系统和版本 指定虚拟机名称和存储位置 处理器配置 内存配置:图形化界面至少2G,字符界面至少1G. 网络类型默认为NAT I/O控制器类型默认L ...