Linux云计算运维工程师day28shell编程基础

2023-06-08,,

一、

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云计算运维工程师day28shell编程基础.doc》

下载本文的Word格式文档,以方便收藏与打印。