Shell概念
在计算机科学中,shell俗称“壳”,是指提供使用者使用界面的软件(命令解析器)。类似于DOS下的command.com和后来的cmd.exe,它接收用户命令,然后调用相应的应用程序。
Shell是一个用C语言编写的程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。
Shell脚本是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但读者朋友要知道,shell和shell script是两个不同的概念。本文出现的shell编程都是指shell脚本编程。
Shell环境
Shell编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本编辑器就可以了。
Linux的Shell种类众多,常见的有:
· Bourne Shell(/usr/bin/sh或/bin/sh)
· Bourne Again Shell(/bin/bash)
· C Shell(/usr/bin/csh)
· K Shell(/usr/bin/ksh)
· Shell for Root(/sbin/sh)
本教程关注的是Bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用。同时,Bash也是大多数Linux系统默认的Shell。在一般情况下,人们并不区分Bourne Shell和Bourne Again Shell,所以,像#!/bin/sh,它同样也可以改为#!/bin/bash。#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。
Shell程序步骤:
1、创建一个文件,扩展名为.sh。
2、修改文件的权限为可执行文件。
3、执行。
Shell结构
1、#!用来指定执行脚本的shell。
2、# 注释。
3、命令和控制结构。
Shell变量
命名规则:
1、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
2、中间不能有空格,可以使用下划线(_)。
3、不能使用标点符号。
4、不能使用bash里的关键字(可用help命令查看保留关键字)。
使用规则:
1、习惯用大写字母来命名变量。
2、赋值时,“=”前后不能有空格。
3、命令的执行结果赋值给变量时,使用反单引号 如:TIME=`date`。
4、使用变量时,使用$变量名 或 ${变量名}。