转载请注明出处:http://blog.csdn.net/u012842205/article/details/79584275
一、Shell是什么
1)Shell是操作系统提供的,供用户调用的操作接口。分命令行调用接口(CLI)和图形用户接口(GUI)。
2)在Unix历史中,Shell作为系统的命令行调用接口,以独立的程序实现。
3)早期的Shell提供了一些基本特性,供用户使用。功能逐渐完善,发展为较完整的脚本预研。
现在Shell指Shell脚本语言,和Shell脚本解释器。在命令行接口的发展过程中,产生了很多种Shell产品:
Bourne Shell(sh、bash、ash、zsh、dash、ksh...)
The C Shell(csh、tcsh)
目前大部分的Linux发行版内置bash,一部分Debian系列也提供了dash(theDebian Almquist Shell)。不同的Shell实现,其脚本的语法略有不同。本文以Bash说明Shell脚本编程。
二、Bash Shell编程说明
1、代码大小写敏感。
2、脚本文件多以.sh作为扩展名,但不限于此。
3、首行注释需说明解释器的路径(如:#!/bin/bash)
4、指定脚本的返回值,一般脚本的返回值以exit命令指定,或以脚本最后一条命令的返回值为脚本返回值。
5、代码只能用行注释,以 '#' 开头。
三、基本语法
(一)变量
Shell脚本语言一般不需要提前声明,声明过程一般都配合了初始化过程。事实上,Shell的变量就是赋值过程,变量已创建,则赋值,变量未创建,则创建之并赋值。赋值使用"=",同C语言。等号两边不能有空格。
var1=3.1415926
var2=2.71828
var3="此处是变量值"
变量也没有类型。Shell中,默认将所有的变量看做字符串类型,只有在需要使用到算术计算时,才会转化成数值。这些操作对开发者都是透明的。
变量名一般在整个脚本中可用,即使function中定义的变量,function外也能访问到。变量使用local修饰,则其作用域只在function中有效。
以下是变量名注意事项:
- 首个字符必须