博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 脚本
阅读量:4958 次
发布时间:2019-06-12

本文共 1979 字,大约阅读时间需要 6 分钟。

shell脚本:

shell

一个特殊的应用程序,介于操作系统内核与用户之间,充当一个“命令解释器”,负责接受指令并进行解释,将需要执行的操作传递给内核执行并将执行结果返回给用户。

脚本:

  将平时使用的各种Linux命令按一定顺序保存到一个文本文件中,添加上执行的权限,就是一个shell脚本。

将要执行的命令按照先后顺序保存到一个文本文件;给该文件一个可执行权限,方便运行;结合各种shell、控制语句完成复杂操作。

【脚本开始注释部分】

#!/bin/bash

# Description:Install Httpd Server//脚本介绍

# By:Crushlinux//脚本作者

# Date:2016-01-08//写作时间

# Version:V1//版本

编写Shell脚本的格式:

1、#!/bin/bash        表示脚本通过以/bin/bash程序来编写

2、# 表示注释信息,例如:对编写的脚本作用进行解释,每写一段脚本之前都应该用“#”来注释以下命令执行的结果

3、定义脚本中的变量

4、定义脚本中的函数

5、脚本执行语句(判断、循环、选择等语句)

6、利用 echo 定义输出一些让人更容易看懂得信息(可以是中文也可以是英文)

执行脚本的三种方法:

1、通过绝对路径执行:/root/first.sh或进入到脚本文件所在目录 ./first.sh (需要给脚本文件添加上执行权限)

2、 进入到脚本文件所在目录执行 sh first.sh  bash first.sh(文件可以没有执行权限)

3、进入到脚本文件所在目录执行 source first.sh 或 .  first.sh  (文件可以没有执行权限)

脚本后缀名:

.sh---编写程序为bash

.pl---编写程序为pret

.py---编写程序为python

shell脚本应用场景:

1.重复性操作

2.批量事务处理

3.自动化运维

4.服务运行状态监控

5.定时执行任务

6.减轻管理员负担

7.规避费事操作

查询当前操作系统的shell解释器:

cat /wtc/shells

(Linux默认使用解释器:/bin/bash/)

在解释器中以下为相同:

/bin/sh = /usr/bin/sh = /usr/bin/bash = /bin/bash

/bin/csh = /bin/tcsh

/bin/ksh -> /etc/alternatives/ksh

标准输入/输出/错误输出:

类型

设备文件

文件描述编号

默认设备

标准输入

/dev/stdin

0

键盘

标准输出

/dev/stdout

1

显示器

标准错误输出

/dev/stdert

2

显示器

重定向操作:

类型

操作符

用途

重定向输入

从指定的文件读取数据

 

重定向输出

将输出的结果保存到指定文件

>> 

将输出结果追加到指定文件

标准错误输出

2>

将错误信息保存到指定文件夹

2>>

将错误信息追加到指定的文件中

混合输出

&>

将标准输出、标准错误的内容保存到同一个文件

 

管道符 |

格式:cmd1  |  cmd2  [... | cmdn]

作用:将管道前的命令输出结果作为管道后命令的参数使用

xargs 在某些特殊情况下。管道符失去了作用,可以使用xargs命令,强制管道符后的命令使用管道符前的命令输出结果作为参数

 

awk命令基础体验:

awk -F"分隔符" '/过滤文本/{print $1}'  处理文件

 

Shell变量

常量:固定的字符串,含义也是固定的。

       Shell 变量用来存放系统和用户需要使用的特定参数(值),而且参数根据用户的设定或系统环境的改变而相应的改变,灵活,适应性更强。

 

变量类型:

1、自定义变量

自定义变量是由用户自己定义的变量,只在用户自己的Shell环境中生效,又称本地变量

定义格式:变量名=变量值 等号两边没有空格

变量名必须使用英文字母或是下划线开头,变量名内不允许出现特殊字符,并且区分字母大小写。

 使用echo可以查看定义的变量值,$后面是一个变量名

特殊符号:

1、双引号(“”):可以引用一个变量,有空格的值。

2、单引号(‘’):引号内的内容被视为一个完整的字符串,不能引用变量。

3、反撇号(``):引号内的执行结果作为变量名的变量值,引用命令使用。反撇号在一行命中不能实现嵌套命令替换操作,所以使用$()

read命令:

       用来提示用户输入信息,从而实现简单的交互变量设置。将用户输入的信息作为变量值,用户的输入以空格作为分隔符,将读入的各个字段挨个赋值给指定的变量,多余的赋值给最后一个变量。

         -p    设置提示信息

 

转载于:https://www.cnblogs.com/XXXX001/p/11405023.html

你可能感兴趣的文章
盒子的偏移量
查看>>
Spring3系列12- Spring AOP AspectJ
查看>>
JAVA异常与异常处理详解
查看>>
UML类图几种关系的总结
查看>>
链表中倒数第k个节点
查看>>
Frogger
查看>>
线程同步
查看>>
好久没写题解了= =这次是bzoj 1051
查看>>
box-shadow
查看>>
paramiko简单脚本
查看>>
Ubuntu系统OPENGL初体验
查看>>
Java异步调用模式
查看>>
idea tomcat上传图片,无法显示的问题解决
查看>>
Java Swing学习
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>