序,掌握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. android布局学习-使用FrameLayout和LinearLayout制作QQ空间底部导航栏

    [声明:本博客通过学习“J灬叶小超 ”博客而写,链接:http://www.cnblogs.com/yc-755909659/p/4288260.html] --------------------- ...

  2. UVa 673 Parentheses Balance

    一个匹配左右括号的问题 /*UVa 673 Parentheses Balance*/ #include<iostream> #include<algorithm> #incl ...

  3. ansible模块authorized_key

    示例: --- - hosts: test remote_user: root tasks: - name: deliver authorized_keys authorized_key: user: ...

  4. Linux下动态库查找路径的问题

    说到和动态库查找路径相关的问题,总体上可以分为两类:    第一类: 通过源代码编译程序时出现的找不到某个依赖包的问题,而如果此时你恰好已经按照它的要求确确实实.千真万确.天地良心地把依赖库给装好了, ...

  5. POJ 3061 Subsequence(尺取法)

    题目链接: 传送门 Subsequence Time Limit: 1000MS     Memory Limit: 65536K 题目描述 给定长度为n的数列整数以及整数S.求出总和不小于S的连续子 ...

  6. 《Linux菜鸟入门2》Ldap

    ldap网络帐号1.ldap是什么ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式 2.ldap客户端所需软件yum install sssd krb-workstation ...

  7. 利用jar命令打包和解压

    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了:而另一种是使用 JET 来进行 ...

  8. struts2文件目录结构

    apps 文件夹包含了多个 example 示例应用的压缩包. docs 文件夹包含了 struts 官方的帮助文档. lib 文件夹包含了 struts 提供的类库 jar 包. src 文件夹包含 ...

  9. 手写控件,frame,center和bounds属性

    一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View ...

  10. 延时Led灯

    1.代码:#include <reg52.h>typedef unsigned int  u16;typedef unsigned char u8;sbit led = P1^0;void ...