Shell 脚本简介

来源:互联网 发布:类似youcam的软件 编辑:程序博客网 时间:2024/06/05 19:41
什么是 Shell 脚本
Shell 除了是命令解释器之外还是一种编程语言,用 Shell 编写的程序类似于 DOS 下的批处理程序。
用户可以在文件中存放一系列的命令,通常将 Shell 编写的程序称为 Shell 脚本或Shell程序。
将命令、变量和流程控制有机地结合起来将会得到一个功能强大的编程工具。Shell脚本语言非常擅长处理文本类型的数

据,由于Linux系统中的所有配置文件都是纯文本的,所以Shell脚本语言在管理Linux系统中发挥了巨大作用。

Shell脚本中的成分
Shell脚本是以行为单位的,在执行脚本的时候会分解成一行一行依次执行
Shell变量和结构控制语句。
注释 –– 注释部分用于对脚本进行解释和说明,在注释行的前面要加上
对该行进行解释。
命令 –– 在Shell脚本中可以出现任何在交互方式下可以使用的命令。
变量 –– Shell 支持字符串变量和整型变量。
结构控制语句 –– 用于编写复杂脚本的流程控制语句。

Shell脚本的建立与执行
用户可以使用任何文本编辑器编辑Shell脚本文件,如v
对Shell脚本文件的调用可以采用三种方式:
一种是将文件名作为Shell命令的参数,其调用格式为:
$ bash script-file
当要被执行脚本文件没有可执行权限时只能使用这种调用
行,以便该文件可以作为执行文件调用。具体方法是:
$ chmod u+x script-file
$ script-file
当执行一个脚本文件时,Shell就产生一个子Shell(即
量值不能传递到当前Shell(即父Shell)。

为了使得脚本文件中的变量值传递到当前Sh
$ source script-file

$ . script-file
“source”和“.”命令的功能是在当前Shell中
令。
下面给出一个不同方式执行 shell 脚本的例
# 首先编写一个名为 myset 的简单脚本文件。
$ cat >myset
mydir=`pwd`
export mydir
^d
# 显示脚本myset的内容
$ cat  myset
mydir=`pwd`
export mydir

$
# 为脚本添加执行权限并执行
$ chmod +x myset
# 在子Shell中执行脚本
$ ./myset
# 显示变量mydir的值
$ echo $mydir
 
$
# 由于这种执行脚本的方式是在子Shell中执行,
# 所以当脚本执行结束返回主Shell后,变量已没有
# 用.命令执行脚本
$ . myset
# 显示变量mydir的值
$ echo $mydir
/home/lrj
$
# 由于这种执行脚本的方式是在当前Shell中执行,

与Windows或DOS环
或脚本时应该使用如下
 
 $  ./command
 $  ./script
 Shell 脚本的编码规
一个bash脚本的正确的起始
#!/bin/bash
在调用 bash 的脚本时候,
如果bash是你的默认shell
比如tcsh,那么你就必须需
良好的Shell编码规范还要求
脚本名称
脚本功能

作者及联系方式
版本更新记录
版权声明
复杂脚本应对算法做
本章为了节省篇幅,通常
显示源文件
登录