加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux中的shell脚本管理(一)

发布时间:2016-08-13 09:45:10 所属栏目:Linux 来源:站长网
导读:一:Shell的作用及常见种类: Shell是一个特殊的应用程序,他介于操作系统内核与用户之间,负责接受用户输入的操作指令(命令)并进行解释,将需要执行的操作传

4.2>:环境变量配置文件

在Linux系统中,用户环境变量的设置工作习惯上在"/etc/profile"文件及用户宿主目录中的“.bash_profile”文件中进行,前者称为全局配置文件(对所有用户起作用),后者成为用户配置文件(允许覆盖 全局配置)。

5:位置变量

所谓位置变量也就是一些$n变量

$12345689

6:预定义变量

预定义变量是由Bash程序预先定义好的一些特殊变量。用户只能使用预定义变量,而不能创建新的预定义变量,或直接修改预定义变量赋值。所有的预定义变量都是由“$”符号和另一个符号组成的,较常用的Shell预定义变量包括以下这些。

$#:表示命令行中位置参数的数量。
$*:表示所有位置参数的内容。
$?:表示命令执行后返回的状态,用户检查上一个命令的执行是否正确。在Linux中,命令推出状态为0表示命令执行正确,任何非0值的表示命令执行错误。
$$:表示当前进程的进程号。
$!:表示后台运行的最后一个进程的进程号。
$0:表示当前执行的进程的进程名。

预定义变量通常使用在Shell脚本程序中,在命令行界面中的应用并不多见(尽管也可以使用)。

7:脚本的概念:

Bash程序不仅可以作为用户管理Linux系统的命令操作环境,同时也可以作为一种优秀的脚本程序语言。凡是使用Shell编程的语言编写的程序都可以称为Shell脚本,通俗一点说,只要将一些Linux命令按顺序保存到一个文本文件中,并给予这个文件可执行权限,那么这个文件就可以称为Shell脚本。当然,Shell脚本是为了完成一定的管理任务才创建的,因此脚本文件中的各条命令并不是杂乱无章随便放置的,这就需要用户来进行组织和设计了。

7.1:编写Shell脚本文件 (建立包含可执行语句的文件文件)

使用文本编辑器程序(如:vi)创建脚本文件,文件名中可以使用扩展名(如:“.sh”),也可以不使用扩展名,并没有强制的要求。脚本中可能包括的内容如下:

>:运行环境设置:通常位于文件的第一行,用户指定使用那一个Shell程序进行解释。设置时以“#!”开始,后面紧跟上指定的Shell程序的完成路径,如“#!/bin/bash”。

>:注释行:在脚本文件中,除了以“#!”开头的Shell环境设置行以外,其他以“#”符号开头的内容将被视为注释信息,执行脚本时将予以忽略。编写脚本程序时,添加必要的注释语句是一个良好的习惯,这样将大大增强脚本文件的易读性,方便在不同时间,不同用户间交流使用。

>:可执行语句:可执行语句是Shell脚本程序中最重要的组成部分,在命令行操作界面中可以执行的命令都可以写入到脚本当中,程序运行时默认情况下将会按照顺序依次解释执行。除此以外,还可以添加一些程序结构语句,用户灵活控制执行过程,提高程序执行效率。

eg:使用vi编辑器编写一个简单的Shell脚本文件test.sh,用于报告当前系统中“/boot”目录所占用的空间大小,并列出其中的内核文件的属性信息。

linux中的shell脚本管理(一)

为脚本文件添加可执行权限

chmod a+x test.sh

执行该脚本:bash test.sh

linux中的shell脚本管理(一)

7.2:说到执行Shell脚本有多种方式:

>:直接执行带"x"权限的脚本文件

为脚本文件设置了可执行属性后,在Shell命令行中可以直接通过脚本文件的路径执行脚本程序,这也是最常用的一种方式,

linux中的shell脚本管理(一)

执行时需要在文件名之前加入“./”路径,明确执行需要执行当前目录下的脚本文件,这种方法也是出于对系统安全性的考虑。

>:使用Shell解释器程序执行脚本

这种方式可以将脚本文件作为指定Shell解释器程序(如:bash、sh等)的参数,由解释器程序负责读取脚本文件中的内容并执行,因此并不需要脚本文件具有可执行属性。此方法通常只在脚本的调试阶段使用。

linux中的shell脚本管理(一)

>:使用“.”命令执行脚本

使用Shell解释器程序(如:bash)执行指定脚本文件时,是在当前Shell中启动一个子Shell来运行脚本程序,因此脚本程序中定义的环境变量只能在子Shell环境中使用,而无法在用户当前的Shell环境中使用。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读