pstree                         #查看进程树

cat /etc/shells                #查看系统安装的所有shell解释器

yum -y install ksh                      #安装新的解释器

一、shell脚本的结构

1、声明解释器                 #!/bin/bash

2、注释脚本的功能,变量含义,每个步骤亚解决的问题。

3、代码内容,命令行

二、脚本执行方式

1、赋予脚本文件执行权限,然后用绝对路径或者相对路径运行该文件        #chmod a+x 脚本文件

2、使用解释器直接执行脚本文件。                                      # bash   脚本文件绝对路径

3、使用source命令执行脚本。                     #source 脚本文件绝对路径       source可以用“.”替代。

三、一键创建yum仓库

四、一键搭建vsftpd脚本

五、变量类型

1、自定义变量,变量名称可以使用字母、数字、下划线,不能以数字开头,不能使用特殊字符。

2、环境变量

echo $USER      查看当前用户

echo $UID       查看当前用户的uid

echo $HOME      查看当前用户的家目录

echo $PATH      命令程序的存放路径

3、位置变量

$1 $2 $3 $4 $5

4、预定义变量

  #!/bin/bash
echo $ #位置变量1,执行脚本时,后面跟的第1个参数
echo $  #位置变量1,执行脚本时,后面跟的第1个参数 echo $ #位置变量1,执行脚本时,后面跟的第1个参数
echo $$ #当前脚本的进程号
echo $#         #位置变量的个数
echo $*         #所有的位置变量
echo $?         #上一条指令的结果,0是正常,非0是异常
echo $0         #执行脚本的名字
echo $!         #最后一条放入后台的程序的进程号

env:查看所有的环境变量

set:查看所有的变量

六、引号的用法

双引号:界定范围

单引号:界定范围,屏蔽特殊符号

反引号:将命令结果赋值给变量,也就是获取指令的结果,$()也有相同的效果

七、终端回显

1、read命令,读取用户输入的内容

命令:read -p   "提示文字"  变量名                  # read -p "请输入用户名" num              # -p添加文字提示符       num是变量

2、stty命令,关闭和打开回显

stty -echo    关闭屏幕回显

stty echo     打开屏幕回显

3、export     发布全局变量

a=10          #自定义变量,局部变量

export a      #将自定义变量发布为全局变量

export -n a   #撤销全局变量,恢复为局部变量

八、shell中数值运算

1、expr                    # expr 1 + 1            注意添加空格

2、echo $[运算内容]               # echo $[1+1]

3、let  可以改变变量本身的值,不显示结果。

a=4

let a--       # a--相当于a = a - 1,a++相当于a=a+1

$a                     输出结果为3

4、bc   支持小数计算

echo "10/3" |bc           # 把要计算的公式传递给bc进行计算

echo "scale=3;10/3" |bc             #定义小数点后面的长度是3位

sed

  流式编辑器,可以非交互式修改文件,逐行操作

使用方法:

一、前置命令|sed 选项  (定址符)指令

二、sed 选项 (定址符)指令 文本

选项:

-n 屏蔽默认输出

-r 支持扩展正则

-i 写入文件

指令:

p 输出指定内容

df -h |sed -n 'p'                   #将df-h的内容交给sed输出到屏幕。-n 屏蔽默认输出,p输出指定的内容。

sed -n 'p' test.txt                 #将文件test.txt的内容输出

sed -n '1p' test.txt                 #将文件test.txt的第一行内容输出

sed -n '1,2p' test.txt                 #将文件test.txt的第一行和第二行内容输出

sed -n '4,+7p' test.txt          #将文件test.txt从第4行开始再输出7行。

sed -n '4;7p' test.txt             #将文件test.txt输出第4行,第7行。

sed -n '1~2p' test.txt            #将文件test.txt从第一行开始每隔2行输出一次(也就是显示奇数行)

sed -n '/正则表达式/p' test.txt         #支持正则表达式   用//匹配正则表达式

sed -n '$=' test.txt              #显示文本最后一行的行号

sed -n '='  test.txt               #显示文本的所有的行号

sed  '1d' test.txt                                                     #删除文本test.txt的第一行

sed -r '/bash|nologin/d' test.txt                #删除文本中包函bash和nologin的行,-r   表示支持正则表达式

替换

sed 's/old/new/' test.txt                  # 把文本中每一行的第一个old字符串替换成new字符串

sed 's/old/new/g' test.txt             #把文本中的old字符替换成new字符

sed '3s/old/new/2' test.txt              #把文本中第3行的第2个old字符替换成new字符。

sed 's#old#new#' test.txt                                              #当正则表达式中含有/,替换符冲突可以用其他的特殊字符来代替/。/是替换符

sed -r 's/^(a)(.*)(.)$/\1\2\3/'                                           #位置调换

云计算第二阶段shell脚本的更多相关文章

  1. 面试linux运维一定会问到Shell脚本这24个问题

    面试linux运维一定会问到Shell脚本这24个问题 虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到 shell 脚本的问题,它有助于你在工作 ...

  2. SHELL (1) —— shell脚本入门

    摘自:Oldboy Linux运维——SHELL编程实战 SHELL Shell是一个命令解释器,解释执行用户输入的命令及程序等,用户每输入一条命令,Shell就解释执行一条.这种从键盘以输入命令,就 ...

  3. Linux命令行与Shell脚本编程大全

    快来参加<Linux命令行与Shell脚本编程大全>学习吧,提升技能,展示自我. 点击链接即可进入学习:https://s.imooc.com/WTmCO6H 课程亮点适合零基础读者,从零 ...

  4. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  5. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  6. shell脚本规划化模板

    shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...

  7. Shell脚本编程30分钟入门

    Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...

  8. Linux Shell脚本逻辑操作符简介

    在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...

  9. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

随机推荐

  1. 通过Onvif设备探索获取EasyNVR网页无插件播放所需要的摄像机硬盘录像机NVR的RTSP地址

    想实现网络监控摄像头进行视频直播的朋友门应该知道,方法其实非常简单,你不需要使用支持直播的网络摄像机,只需要经过一套流媒体服务器将监控摄像头的RTSP视频流转为RTMP\HLS\HTTP-FLV视频流 ...

  2. mysql or条件查询优化

    当使用or的时候是不会用到索引的 explain SELECT * FROM aladdin_resource WHERE state = 1 OR state = 2; 解决办法就是用union替换 ...

  3. 阿里云k8s部署zookeeper集群

    1. 阿里云k8s创建有状态应用 StatefulSet ,  选择使用模板创建 可以创建自定义模板 apiVersion: apps/v1 kind: StatefulSet metadata: c ...

  4. .NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...

    前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper, ...

  5. 【Sqoop学习之二】Sqoop使用

    环境 sqoop-1.4.6 一.基本命令1.帮助命令 [root@node101 ~]# sqoop help Warning: /usr/local/sqoop-/../hbase does no ...

  6. 【视频开发】四大图像库:OpenCV/FreeImage/CImg/CxImage

    1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法: 然后将图像格式和矩阵运算, ...

  7. spring中Bean的懒加载

    在ApplicationContext容器中,当容器一启动时,所有的bean(单例的)都会被创建和注入依赖,这也被视为IOC容器启动过程中的一个步骤. 那如何让一个bean在需要的时候再被创建,而不是 ...

  8. 什么是渐进式Web App(PWA)?为什么值得关注?

    转载自:https://blog.csdn.net/mogoweb/article/details/79029651 在开始PWA这个话题之前,我们先来看看Internet现状. 截至2017年1月, ...

  9. Java开发笔记(一百一十三)HttpClient实现下载与上传

    前面介绍了通过HttpClient实现HTTP接口的GET方式调用和POST方式调用,那么文件下载与文件上传又该如何操作呢?其实在HttpClient看来,文件下载属于特殊的GET调用,只不过应答报文 ...

  10. Qt 自定义QTabWidget

    思路: QTabWidget的特点:点击不同的选项卡显示不同的窗口.可以将QTabWidget分成两部分: (1).选项卡:点击时要知道点击的是哪个选项.则需要将选项卡和窗口的信息存起来,点击时去这个 ...