什么是shell脚本?如果你有一系列经常使用的Linux命令,你可以把他们存储在一个文件中。Shell可以读取这个文件并执行其中的命令,这样的文件本称为脚本文件。
首先需要创建和执行shell脚本,用任何编辑器如vi在文本文件中编写脚本,以.sh为后缀保存文件,并将文件赋予可执行的
权限。然后就可以执行脚本命令。执行脚本命令有下面两种方式:1)bash脚本文件 2)./脚本文件
在脚本编写中经常使用echo命令和#符号。echo命令用于在屏幕上显示消息,使用方式:echo 要显示的内容。#用于在
shell了脚本中进行注释
和别的语言一样,shell也有一般结构,shell 类型函数
主过程
一般模板 abc.sh
#! /bin/bash shell类型
#a simple shell script example
#a function
sayhello() 函数
{
echo "Enter Your name:"
read name 读取来自键盘输入的变量
echo "Hello $name"
}
echo "programme starts here..." 主过程
sayhello
echo "programme ends."
在shell中还有一些特殊符号,1、注释符# 2、美元符$,美元符也称变量符,与反斜杠符相反,使用后的普通字符作为变量
名,如$a表示变量a的值。变量字符长度超过一个单词时,用{}括起来。3、单引号:被引起来的字符全部作普通字符,即恢
复原样。4、双引号:引号内的内容,除$、转义符\、倒引号·这三个保留特殊功能,其他字符均做普通字符。5、倒引号,引
号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分。6、反斜线,反斜线是转义字符,他能把特殊
字符变成普通字符。
变量也是shell脚本中非常重要的一点,变量分为局部变量,环境变量,内部变量三个类型。内部变量也叫局部变量,内部变量
只在创建他们的shell中使用,可以再shell中使用,可以再shell程序内任意使和修改他们,可以用“变量名=值”对变量进行
赋值,但应该注意一下三点:1)等号两边不可以有空格;2)取值包含空格,必须用双引号括起来;3)shell变量可以用大
小写字母,区分大小写在。在shell中国不用对变量进行声明类型,变量声明及赋值格式为“变量=值(等号两边不能用空格)
”,可以用declare -i 变量名变量的引用有两种方式,$变量名和${变量名},多于一个字符时建议使用方式二。在shell中可
以用echo命令显示单个变量取值,变量名前加$,用 unset 变量名 来清除变量,设置变量时,不想改变其值,可以将之设为
只读变量,格式为:变量名=值。第二个变量类型为环境变量 ,环境变量可以再创建他们的shell及其派生出来的任意子程序
中使用,有些变量是用户创建的,其他的则是专用的(比如PATH、HOME)。是系统环境的一部分,不必去定义它们,可以再
shell程序中使用它们,还能在shell中加以修改。环境变量用于所有用户进程(通常称为子进程)。登陆进程称为父进程,通过
pstree可以查看。 还有一个是内部变量,内部变量是Linux所提供的一种特殊类型的变量,这类变量在程序中用来做出判断,在
shell程序中这类变量的值是不能修改的。下面列举部分内部变量,(1)$#--传送给shell程序的位置参数的数量;2)#?--最后
命令的完成码或者在shell程序内部执行的shell程序(返回值)3)$0--shell程序的名称;4)$*调用shell程序时所传送的全部参
数的单字符串;5)$n--第n个参数。
了解完变量的类型,下面我们要做的就是创建变量,在shell中可以再任何时间通过简单的赋值来创建变量,语法:<variable
name>=<value>,shell中的所有变量都被当做字符串,我们可以用$符号用于引用一个变量的内容,variable=${variable2};在执
行shell脚本时,shell还允许用户从键盘中输入一个值给变量。可以用read命令来做,read fname。