云计算第二阶段shell脚本

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、预定义变量

 

 1 #!/bin/bash2 echo $1              #位置变量1,执行脚本时,后面跟的第1个参数3 echo $2             #位置变量1,执行脚本时,后面跟的第1个参数  4 echo $3 #位置变量1,执行脚本时,后面跟的第1个参数5 echo $$              #当前脚本的进程号6 echo $#         #位置变量的个数7 echo $*         #所有的位置变量8 echo $?         #上一条指令的结果,0是正常,非0是异常9 echo $0         #执行脚本的名字
10 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/'                                           #位置调换 

 

 

转载于:https://www.cnblogs.com/mython/p/11365517.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做系统ghost步骤图解_用好这工具,小孩都能会重装系统!

之前“事儿哥”曾给小伙伴们介绍过一款bios模拟器,(点击查看《比游戏模拟器罕见一百倍!99%的人没见过!真实用!》),让你可以轻松模拟操作bios,而不影响真实的电脑,不怕把电脑弄坏了!今…

git 为什么不能断点_跟我一起学docker(九)--持续系统集成了解下git

什么是持续集成?持续集成(Continuous integration,简称CI)。根据敏捷大师Martin Fowler的定义,“持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可…

selenium定位元素的方法_selenium定位元素之冻结窗口

我们在使用selenium进行元素定位的时候,会发现有很多需要操作的元素是随着鼠标移动与移出才会显示与隐藏,不能通过页面窗口实时看到自己的定位是否准确。这就给我们定位工作带来了一些困扰。这种情况下我们可以采用冻结当前窗口方式,以达到自…

DB Query Analyzer中的事务管理在DB2中的应用

DB Query Analyzer中的事务管理在DB2中的应用 马根峰 ( 广东联合电子收费股份有限公司, 广州 510300) 摘要 事务控制是数据库应用系统中的关键技术之一,概述了事务控制的概念以及《DB Query Analyzer》中的事务控制,以一个具体的实例,给…

servlet返回数据给html_Servlet 简介

Servlet 简介 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作…

linux 64位 寻址空间_Ubuntu 20.04(64位)如何配置gcc-3.4用于编译linux-0.11

首先下载gcc-3.4地址:http://old-releases.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/下载三个文件,分别是cpp-3.4_3.4.6-6ubuntu2_amd64.debgcc-3.4-base_3.4.6-6ubuntu2_amd64.debgcc-3.4_3.4.6-6ubuntu2_amd64.deb也可打开想要保存到的文件夹后&#xf…

发布一个jQuery插件:formStorage

中午休息时,没有睡意,没事写了个jquery插件:formStorage. 原理很简单,通过本地存储机制(userData或者localStorage),存储表单中元素的状态到本地. 需要时可以把所存储的状态还原到表单元素上. 其中也用了json数据格式, 之前想对插件中所需的功能,从零开始写,但是觉得太冗余,没必…

判断一个java对象中的属性是否都未赋值_100道Java基础面试题(一)

100道Java基础面试题(一)未来大家将步入职场,面试的时候面试官还会问大家一些Java相关的问题。小编整理出100道非常实用的面试题目,可以帮助双体的小伙伴应对面试,我们一起来看看都有哪些吧!1.什么是B/S架构?什么是C/S…

电脑cpu温度过高怎么办_网络资讯:电脑cpu占用过高处理办法

今天来说一下电脑cpu占用过高处理办法这方面的一些讯息,不少朋友对电脑cpu占用过高处理办法这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息,希望对有需要的朋友有所帮助。1、安装并使用杀毒软件全面杀毒;2、优化系统自启动软件;3、把软…

大型企业用什么orm_生产企业ERP有什么用

原标题:生产企业ERP有什么用生产企业ERP有什么用?随着我国经济的快速发展,这促使了许多企业或转型开发新的业务模式,以更快速度迈向新兴前沿领域。在这样的环境下,许多的生产型企业对ERP系统进行了实施。生产企业ERP到…

怎么测试网络带宽_性能测试案例与经验分享

性能基准测试性能基准测试,通常被称为 Performance Benchmark Test,是每次对外发布产品版本前必须要完成的测试类型。性能基准测试,会基于固定的硬件环境和部署架构(比如专用的服务器、固定的专用网络环境、固定大小的集群规模、相…

微服务跨数据库联合查询_MySQL数据库联合查询

大家好,我是anyux。数据库联表查询很重要,内联查询更是尤为重要。需要将school.sql文件导入到数据库中数据库多表联合查询,school库下表的逻辑结构关系都在下图中。可以通过驱动表加子表配合实现所有查询要求。统计zhang3,学习了几门课select…

mos 控制交流_电机控制器母线电容的设计选型

母线电容的定义在电机控制器中,电池包的直流电作为输入电源,需要通过直流母线与电机控制器连接,该方式叫DC-LINK或者直流支撑,其中的电容我们称之为母线电容或者支撑电容或者DC-Link电容。由于电机控制器从电池包得到有效值或者峰…

方法的返回值类型是object_JavaScript中如何判断类型

1. typeoftypeof (整数/小数/自然对数Math.LN2/正无穷大数Infinity) > numbertypeof NaN > numbertypeof (function(){}) > functiontypeof Math.sin > functiontypeof undefined > undefinedtypeof xxxx > stringtypeof > stringtypeof true/false >…

c++代码整洁之道pdf_别再问如何用Python提取PDF内容了!

公众号后台回复“图书“,了解更多号主新书内容作者:陈熹来源:早起Python导读大家好,在之前的办公自动化系列文章中我们已经详细介绍了👉如何使用Python批量处理PDF文件,包括合并、拆分、水印、加密等操作。…

vim编辑模式_sublime vim模式和快捷键

vim的四种模式及模式切换vim一共有4个模式&#xff1a;正常模式 (Normal-mode) 插入模式 (Insert-mode)命令模式 (Command-mode)可视模式 (Visual-mode)正常模式启动vim后默认处于正常模式。不论位于什么模式&#xff0c;按下<Esc>键(有时需要按两下&#xff09;都会进入…

python读取txt文件_python实现读写txt文件的几种方法

一、读写模式&#xff1a;w&#xff1a;向文件中写入内容&#xff0c;w会清空原来文本内容a&#xff1a;向文件中追加内容r&#xff1a;从文件中读取内容wb&#xff1a;以二进制形式写入内容。rb&#xff1a;以二进制形式读文件内容ab&#xff1a;以二进制形式追加内容a、r、w&…

centos7升级openssh

注意&#xff1a; openssl版本(openssl版本要大于1.0.1&#xff0c;zlib版本要大于1.1.4) 一、安装依赖包 yum -y install gcc make perl # zlib zlib-devel yum install -y gcc openssl-devel pam-devel rpm-buildyum install telnet-ser…

java 复制对象_Java程序员必备:序列化全方位解析

前言 相信大家日常开发中&#xff0c;经常看到Java对象“implements Serializable”。那么&#xff0c;它到底有什么用呢&#xff1f;本文从以下几个角度来解析序列这一块知识点~什么是Java序列化&#xff1f;为什么需要序列化&#xff1f;序列化用途Java序列化常用API序列化的…

decimal类型对象里面定义什么类型_奥斯塔罗 单身开启桃花雷达 现阶段的我适合什么类型的对象?...

相信单身朋友总好奇下一位对象是否出现了&#xff1f;或是这么多人我该如何察觉下一位对象呢&#xff1f;如果单身的你正寻找对象中那就跟奥斯老师一起来看看下一位对象的个性与特征吧&#xff01;&#xff1c;&#xff1c;直觉选一张牌&#xff1e;>牌l选择到这组牌的朋友&…