序,掌握shell脚本是linux运维工程师的最基础技能。

一、脚本语言

与高级语言不通,脚本语言运行时需要调用相应的解释器来翻译脚本中的内容。

常见的脚本语言有Shell脚本、Python脚本、php脚本、Perl脚本等。

二、Shell脚本格式范例

第一行#!的作用是指定该脚本程序的命令解释器

#!/bin/bash
#
# echo "Hello the world"
exit 0

三、运行脚本的方式

1 赋予权限,直接运行脚本

chmod a+x print.sh
/root/print.sh #通过绝对路径执行脚本
./print.sh #通过相对路径执行脚本

2 没有权限,通过bash或sh运行脚本

bash print.sh #调用bash程序解释器脚本内容执行
sh print.sh #调用sh程序解释脚本内容并执行

3 没有权限,通过.或source运行脚本

source print.sh #
. print.sh #

四、Shell语法之判断语句

1 if语句

if条件

then

命令序列

fi

if条件

then

命令序列

else

命令序列

fi

if条件

then

命令序列

elif条件

then

命令序列

elif条件

then

命令序列

else

命令序列

fi

     

2 case语句

case $变量名称 in

模式1)

命令序列

;;

模式2)

命令序列

;;

模式N)

命令序列

;;

*)

esac

case $变量名称 in

模式1|模式2)

命令序列

;;

模式3|模式4)

命令序列

;;

模式5|模式6)

命令序列

;;

*)

esac

   

五、Shell语法之循环语句

1 for语法

语法格式1 语法格式2

for 变量 in 值1 值2 ... 值N

do

命令序列

done

for((初始化变量值;结束循环条件;运算))

do

命令序列

done

2 while语法

语法格式1 语法格式2

while [条件]

do

命令格式

done

while read -r line

do

命令序列

done < file

3 until语法

until [条件]

do

命令序列

done

4 select语法

select与for循环格式相同

六、Shell语法之控制语句

Shell支持的控制语句有shift、continue、break、exit

七、Shell语法之函数

语法格式1 语法格式2

name(){

命令序列

}

function name{

命令序列

}

八、Shell语法之图形脚本

dialog

1 日历对话框

2 选择对话框

3 图形进度条

4 图形密码框

5 消息框

6 确认框

Linux运维初级教程(一)Shell脚本的更多相关文章

  1. Linux运维初级教程(四)shell简介

    查看系统可用的shell命令 cat /etc/shells shell是用于与内核进行交流的工具 管道和重定向(< < > > |) |为管道 标准输入的文件描述符为0,标准 ...

  2. Linux运维初级教程(三)文件及目录权限

    文件类型 -代表普通文件,d代表目录,l代表链接文件,b或c代表设备. 第二至九个字符代表权限,分别为所有者权限.所属组权限.其他账户权限 修改权限用chmod u用户 g组 o其他用户 a所有人 c ...

  3. Linux运维初级教程(二)账户与安全

    知识点 用户ID为UID,组ID为GID,UID=0表示超级管理员即root. 一个用户只可以加入一个基本组,但是可以同时加入多个附加组. 创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本 ...

  4. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  5. 最适合初学者的Linux运维学习教程2018版

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  6. Linux运维初级、中级、高级

    学习Linux,好的教程.使学习事半功倍! 老男孩Linux.shell.RHCE运维初中高级 下载地址: http://pan.baidu.com/s/1sB3VC 马哥教育Linux初级.中级.高 ...

  7. 马哥 Linux运维基础进阶和shell入门

    地址:http://edu.51cto.com/course/course_id-618.html 紧接马哥linux专题 第一讲 Bash变量: 1byte= -128,127 2bytes -32 ...

  8. Linux运维比较常用的一些脚本

    目录 一.根据PID过滤进程所有信息 二.根据进程名过滤进程信息 三.根据用户名查询该用户的相关信息 四.加固系统的一些配置 五:实现磁盘分区的 六.使用一整块硬盘创建逻辑卷 七.将一块硬盘分区,然后 ...

  9. Linux运维工程师成长必经之路

    本路线图是从0基础开始,全方位由浅入深,按照多年Linux培训经验和优秀教学方法制定的学习思路和学习方法,路线图包括初级入门.中级进阶.高级提升和资深冲刺四个阶段,每阶段对应着不同优秀的课程和学习方法 ...

随机推荐

  1. 微信小程序一步步搭建商城系列-01-开篇

    1.小程序介绍 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用.也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题.应用将无处不 ...

  2. Java学习路线图

    参考<疯狂Java实战演义>制作,觉得可以做一参考(放大网页看)

  3. ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open

    最近研究ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等 出现这个问题的原因可能是有另外一个程序 ...

  4. .bash_profile for mac‘ envionment variables

    A typical install of OS X won't create a .bash_profile for you. When you want to run functions from ...

  5. Linux 下解压大全

    .tar 解包:tar xvf FileName.tar 或 tar zxvf FilenName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) ...

  6. 捉襟见肘之gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer

    -- :::60b] *** -[ZFModalTransitionAnimator gestureRecognizer:shouldBeRequiredToFailByGestureRecogniz ...

  7. 【转】IPtables学习笔记

    写在前面,大家测试玩iptables时要记得自己配置了那些东西,测试完成后记得删除啊,博主忘了删除一个input REJECT链的一条记录,后续测试搭建了apache服务器,始终无法访问,最后抓包发现 ...

  8. HTTPS原理

    谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,一 ...

  9. 什么是QName

    看代码时经常碰到QName,当时对这个东东具体什么意思也是不太明白:今天在看SOAP消息的时候,想到这个东东,就去仔细看了下.QName其实就是Qualified Name的简称,在"Nam ...

  10. 探究JavaScript中的五种事件处理程序

    探究JavaScript中的五种事件处理程序 我们知道JavaScript与HTML之间的交互是通过事件实现的.事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务 ...