shell是操做系统的最外层,shell能够合并编程语言以控制进程和文件,以及启动和控制其余程序。shell经过提示您输入,向操做系统解释该输入,而后处理来自操做系统的任何结果输出,简单来讲shell就是一个用户跟操做系统之间的一个命令解释器。shell
Linux shell种类有不少,常见的shell以下:编程
bourne shell(/user/bin/sh或/bin/sh);bash
bourne again shell(/bin/bash);编程语言
C shell(/user/bin/csh);函数
K shell(/user/bin/ksh);spa
shell for root(/sbin/sh);操作系统
不一样的shell语言的语法有所不一样,通常不能交换使用,最经常使用的shell是bash,也就是bourne again shell。bash因为易用和免费,在平常生活中被普遍使用,也是大多数Linux操做系统默认的shell环境。code
要熟练掌握shell编程语言,须要大量的练习,初学者能够用shell打印“Hello World”字符。blog
shell脚本编程须要注意如下几个事项:进程
一、shell脚本名称命名通常为英文的大写、小写;
二、不能使用特殊符号、空格来命名;
三、shell脚本后缀以.sh 结尾;
四、不建议shell命名为纯数字、通常以脚本功能命名;
五、shell脚本内容首行需以#!/bin/bash开头;
六、shell脚本中的变量名称尽可能使用大写字母,字母间不能使用“-”,能够使用“_”;
七、shell脚本变量名称不能以数字、特殊符号开头。
如下为第一个shell编程脚本,脚本名称为first_shell.sh,代码以下:
#!/bin/bash echo "Hello World"
first_shell.sh脚本内容详细解释以下:
一、#!/bin/bash:固定格式,定义该脚本所使用的shell类型。
二、echo "Hello World":shell脚本主命令,执行该脚本呈现的内容。
shell脚本编写结束后,若是运行该脚本,运行用户须要有执行权限,能够使用以下命令:
chmod +x ./first_shell.sh //获取可执行权限 ./first_shell.sh //执行脚本
或者直接使用以下执行命令直接运行脚本,不须要执行权限:
/bin/sh first_shell.sh
运行结果以下:
shell属于非类型的解释型语言,在使用变量时不像C++、JAVA语言编程时须要事先声明变量,shell给一个变量赋值,实际上就是定义了该变量,在Liunx支持的全部shell中能够用赋值符号“=”为变量赋值,shell为弱类型语言,定义变量不须要声明类型,若是在使用时须要明确变量的类型,能够使用declare指定类型,declare常见的参数以下:
一、+/-:“-”可用来指定变量的属性,“+”可用来取消变量所设属性;
二、-f:仅显示函数;
三、r:将变量设为只读;
四、x:指定的变量将会成为环境变量,可供shell之外的程序使用;
五、i:指定类型为数值,字符串或运算符。
shell编程中变量分为三种:
一、系统变量:在对参数判断和命令返回值判断时使用;
二、环境变量:主要是在程序运行时须要设置;
三、用户变量:又称为局部变量,多使用在shell脚本内部或者临时局部。
shell变量名在定义时,首个字符必须为字母(a~z,A~Z),不能以数字开头,中间不能有空格,能够使用下划线“_",不能使用”-“,也不能使用标点符号等。