手记

【九月打卡】第12天 一课玩转自动化运维全流程,轻松应对自动化运维岗

课程章节: 2章 shell编程基础:2-11 Shell中的判断语句、2-12 Shell中的循环语句(一)(课程链接:https://coding.imooc.com/lesson/549.html#mid=50187

https://coding.imooc.com/lesson/549.html#mid=50188

主讲老师: 沈奇才

课程内容:shell编程实战与Linux运维基础--初始shell编程

课程收获:

一、判断语句(继续上次课程笔记):

if ls; then  ##if 后面还可以直接跟linux命令

echo "执行成功"

fi

if ls /not exist file; then  ###ls一个不存在的目录打印"执行失败",即$?=0

echo "执行成功"

else "执行失败"

fi

延伸,通过函数返回情况打印执行成功或直白:

xyz(){

echo "执行xyz函数"

return 1 ## 返回非0的值代表失败,结果会传给 $?

}

if xyz; then

echo "函数执行成功"

else "函数执行失败"

fi

还有种条件判断:双中括号:[[]],linux命令里面可以直接用不需要写if

[[ -e "/root" ]]

echo $?

如果存在/root目录则echo $?结果是0,反之返回1

if里面的条件:与(&&)、或(||)

if [ 条件1 ]&&[ 条件2 ]  等价 if [ 条件2 -a 条件2 ]

二、循环语句(新课程笔记:):

1、for循环

for 条件

do

循环体

done

例1

for a in aaa bbb ccc

do

echo "循环变量:$a"

done

例2

arr1=(aaa bbb  ccc "hello, world!")

for a in ${arr1[@]} ### 如果${arr1[@]} 不用双引号括起来则 "hello, world!"这个元素会被拆分成两个

do

echo "遍历数组元素:$a"

done

例3

for i in `seq 1 10` ###for后面接Linux命令

shell里面空格、换行、制表符都可以拆分元素

改变内置分隔符:IFS

IFS=$'\n' ###按照换行符分隔

declare |grep IFS

IFS=$' \t\n'

0人推荐
随时随地看视频
慕课网APP