一、

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编程基础的更多相关文章

  1. 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧

    云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大 ...

  2. 要成为linux网站运维工程师必须要掌握的技能

    要成为linux网站运维工程师必须要掌握的技能 2015-07-27 发表 老男孩点评:感谢此文的作者,写的非常到位,值得入门的初学者认真看看 我是一名linux运维工程师,确切的说是网站运维工程师, ...

  3. 浅谈Linux系统运维工程师必备技能

    一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...

  4. Linux系统运维工程师入门绝招放送

    运维是干嘛的?安装服务器系统?重装系统再装系统?背锅的? 我就稀里糊涂的,这样报着必死的决心,考下RHCE认证,走上了Linux运维的道路,成为了一名linux运维工程师.有些心得跟大家分享下,避免小 ...

  5. Linux网站运维工程师基础大纲

    第一阶段:Linux运维基础 第一章:Linux基础以及入门介绍 1.Linux硬件基础 2.Linux发展过程 3.创建虚拟机和系统安装 第二章:Linux系统目录结构介绍 1.Linux系统优化 ...

  6. Linux云计算运维-MySQL

    0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张, ...

  7. Linux 云计算运维之路

    搭建中小型网站的架构图 s1-2 Linux 硬件基础 s3-4 linux 基础 文件系统 用户权限 s5-6 Linux 标准输出 系统优化 目录结构 w7 rsync-备份服务器 w8 NFS服 ...

  8. Linux云计算运维-Redis

    Redis简介 Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. Redis采用内存(In-Memory)数据集(DataSet) ...

  9. 小白年薪24万,为什么Linux运维工程师薪资这么高?

    借了云计算的东风,Linux岗位这几年是越来越火,特别是Linux云计算运维工程师,如今早已成为互联网的核心岗位之一,薪资待遇飞快的上涨. 作为一个细分的专业岗位,Linux云计算工程师由于其入门学习 ...

  10. Linux 运维工程师学习成长路线上要经历哪四个阶段?

    之前曾看到一篇新闻,Linux之父建议大家找一份基于Linux和开源环境的工作.今天就来聊一聊我的想法,本人8年Linux运维一线经验,呆过很多互联网公司,从一线运维做到运维架构师一职,也见证了中国运 ...

随机推荐

  1. 【Unity】利用C#反射打印类的字段信息

    最近在用protobuf-net序列化功能生成.bytes配置文件时,遇到了需要把.bytes配置文件再另外转成Lua配置文件(Lua配置表内容举例)的需求.Lua配置文件需要记录配置类的各个字段名和 ...

  2. easy-rsa 不同版本克隆

    1.克隆easy-rsa 并切换到2.0版本的分支 yum install -y git git clone https://github.com/OpenVPN/easy-rsa.git cd ea ...

  3. C++常见报错信息和原因的对应关系

    1. 无法找到 xxx.dll 没有把动态链接库和exe放在一个文件夹下 2. 不允许使用不完整的类型 指的是忘了加头文件 3. link err .无法解析的外部符号 指的是 lib 库没有配置对 ...

  4. 2020/513-笔记:怎么知道Oracle数据库一个中文汉字占几个字节

    1. 执行语句:             select userenv('language') from dual; 如果显示如下:             SIMPLIFIED CHINESE_CH ...

  5. 宝塔linux面板进行数据库操作显示"数据库管理密码"

    在使用宝塔linux面板时,对数据库进行操作之后,显示数据库管理密码错误.经历了卸载数据库并删除了数据库文件和olddata, 在从新安装,仍然显示数据库管理密码错误. 这时,我们可以进入到 /www ...

  6. 2022.07.13 vue3下pinia的简单使用及持久化

    使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...

  7. 后端008_配置Security登录授权过滤器

    ------------恢复内容开始------------ 现在我们就可以去进行springscurity的配置了.首先我们新建一个配置类.然后该类需要添加@Configuration注解,然后还要 ...

  8. [BUUCTF]极客大挑战 2019EasySQL1 write up

    顾名思义,简单的SQL注入! 先浅了解一下注入:SQL 注入(SQL Injection) 是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞. 主要原因是程序对用户输入数据的 ...

  9. (转载)Python 浅析线程(threading模块)和进程(process)

    线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 进程与线程 什么 ...

  10. 集成电路仿真器(SPICE)的实现原理

    本文系统地介绍类SPICE集成电路仿真器的实现原理,包括改进节点分析(MNA).非线性器件建模.DC/AC分析.时域/(复)频域仿真以及涉及的数值方法. 基于介绍的原理,实现了SPICE-like仿真 ...