linux脚本的功能,Linux——Shell脚本的基本应用

一、脚本的作用

批量处理、自动化地完成一系列维护任务、减轻管理负担。

二、什么是脚本

将平时使用的各种Linux 命令按顺序保存到一个文本文件,然后添加可执行权限

例:

1)新建一个脚本文件first.sh

ddb71d460fb432f356caaaeca58664a1.png

025003b0b267bd6b05d51252b5509517.png

2)添加可执行权限

df077e3decb5afaabad0eaa666a77ee1.png

上述firsh.sh 脚本文件中,包括三条命令:cd /boot/  ,pwd  , ls -lh vml*。执行此脚本文件后,输出结果与依次单独执行这三条命令是相同的,从而实现了“批量处理”的自动化过程。

三、脚本的基本格式

一个合格的shell脚本程序应该遵循标准的脚本结构,而且输出友好的提示信息,更加容易读懂。对于代码较多,结构复杂的脚本,应添加必要的注释文字。

1)脚本声明

2)注释信息

3)可执行语句

4)输出友好的提示信息

例:

b9863eace385ef917aab5fc56a4b9755.png

执行后的输出结果:

c55ececdb55e7b68ac8342ed887450e8.png

四、执行脚本文件的方式

1)脚本文件路径(脚本文件必须有X权限)

07ddb8586c4f7b3cef644718c0271d8a.png

2)sh脚本文件路径(不需要X权限)

8bc9ba853171b511eae0df079715025f.png

3)source脚本文件路径(不需要X权限)

2d10e6adc0b8b86289398e9c6519a03f.png

五、重定向与管道操作

466b47e4dc105967e0ba952734c1611a.png

1)重定向输出

操作符:">" 覆盖文件

">>"追加文件

8395886e03c7135dac5b587bf3dfd829.png

例:覆盖文件

775d80b721838ed61168792c5eaec93c.png

例:追加文件

255391b66d09613a7f17038c82ef6aae.png

2)重定向输入

操作符:"

例:自动完成密码设置

67c67b780954fd5ab2ba351f0acae5cd.png

3)错误重定向

操作符:"2>"

例:

3872ece82e18ad0c99dcb1369ac1aa92.png

4)混合输出

操作符:"&>"

将标准输出、标准错误输出同事保存到指定文件中

5)管道操作"|"

作为不同命令之间协同工作提供了一种机制,位于管道符号"|" 左侧的命令输出的结果,将作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道

例1:

083849f0a47abd4648e59c46019af406.png

六、变量的引用

1)双引号("):允许通过$符号引用其他变量值

95bb5a1720ffc766c0777a57b017a8b3.png

2)单引号('):禁止引用其他变量,即使有$,视为普通字符

c1822ece611eb40bcaa1842e6c99cd09.png

3)反撇号(`):命令替换,提取命令执行后的输出结果,等同于$()

94de4dfe5d624deb856e816f9901a0a6.png

4)大括号({}):当变量和后面的字符容易出现混淆时永大括号隔开

3662b62c298e330442b9725cec2cd7d7.png

5)read命令:提示用户输入信息,从而实现简单的交互过程

8e0feab72e1ed55438902cf3c98ee595.png

6)设置变量的作用范围

默认情况下,新定义的变量只在当前的shell 环境中有效,因此成为局部变量。当进入子程序或新的子shell 环境时,局部变量将无法再使用。

例:

03a9d427caab4310dd68a44e7588ef0a.png

全局变量设置:export 变量名

例:

dee7f9bfb834ac80d04f8d8d434470b3.png

7)数值变量的运算

格式:expr      变量1      运算符     变量2      【运算符         变量3】……

运算符

+ 加法运算

- 减法运算

\* 乘法运算

/ 除法运算

% 求模运算(又称为取余运算)

例:

75c9651720bb652b4ee5ea528d8ac469.png

七、特殊的shell变量

1)环境变量:env命令查看当前工作环境下的环境变量

常见的环境变量

USER 用户名称

HOME 用户的宿主目录

LANG 语言和字符集

PWD 当前所在的工作目录

PATH 命令搜索路径

环境变量的全局配置文件为/etc/profile  在此文件中定义的变量作用于所有用户。

每个用户拥有自己的独立配置文件~/.bash_profile

2)位置变量

当执行命令操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数按照从左到右的顺序依次赋值个位置变量

位置变量也成为位置参数,使用$1,$2,$3,……表示

例:以下脚本中$1=10 $2=11

3a4722978264c5ac718c8c7af34f86c5.png

0146681f85520eeaf84afdb445f571c2.png

3)预定义变量

$#              表示命令行中位置参数的个数

$*              表示所有位置参数的内容

$?              表示前一条命令执行后的返回状态,返回值为0表示执行正确,非0表示异常

$0              表示当前执行的脚本或程序的名称

例:自动备份文件脚本

995e54285b0f361a93c55676da60393f.png

执行后的结果

3d9af9f63a1b6965afa8f726787c73de.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值