云计算第二阶段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、预定义变量
#!/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脚本的更多相关文章
- 面试linux运维一定会问到Shell脚本这24个问题
面试linux运维一定会问到Shell脚本这24个问题 虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到 shell 脚本的问题,它有助于你在工作 ...
- SHELL (1) —— shell脚本入门
摘自:Oldboy Linux运维——SHELL编程实战 SHELL Shell是一个命令解释器,解释执行用户输入的命令及程序等,用户每输入一条命令,Shell就解释执行一条.这种从键盘以输入命令,就 ...
- Linux命令行与Shell脚本编程大全
快来参加<Linux命令行与Shell脚本编程大全>学习吧,提升技能,展示自我. 点击链接即可进入学习:https://s.imooc.com/WTmCO6H 课程亮点适合零基础读者,从零 ...
- 第一个shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- shell脚本规划化模板
shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- Linux Shell脚本逻辑操作符简介
在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
随机推荐
- easyui datagrid 中序列化后的日期格式化
1.在easyui datagrid 中序列化后的日期显示为:/Date(1433377800000)/ 2.格式化后的显示为: 2015-06-04 08:30:00 3.使用代码如下: 3.1. ...
- Jenkins - 构建项目
1 - 登录 进入起始界面 2 - 创建并运行第一个Jenkins项目 新建Item:创建新项目 --->Freestyle project:通用的项目创建方法 --->在新建项目页面(添 ...
- odoo 流水码 编码规则
<?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate=&quo ...
- 六、spring之通过FactoryBean为ioc容器中添加组件
前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...
- python with方法
在实际的编码过程中,有时有一些任务,需要事先做一些设置,事后做一些清理,这时就需要python with出场了,with能够对这样的需求进行一个比较优雅的处理,最常用的例子就是对访问文件的处理. 一般 ...
- Nginx 配置 HTTP 跳转 HTTPS-Linux运维日志
本文介绍 Nginx 访问 HTTP 跳转 HTTPS 的 4 种配置方式. rewrite Nginx rewrite 有四种 flag: break:在一个请求处理过程中将原来的 url 改写之后 ...
- nginx配置比较杂乱的总结
常用变量 demo uri www.example.com/mock/interface?param1=203¶m2=test $args uri中的参数值 ?后面的部分 param1 ...
- Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发
1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...
- PXC安装部署
安装依赖与注意事项: 1. rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 1 ...
- golang ---CPU信息
package main import ( "fmt" "github.com/StackExchange/wmi" ) type gpuInfo struct ...