- Shell就是一个命令行解释器 ,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。
- Shell还有一种执行命令的方式称为批处理 (Batch),用户事先写一 个Shell脚本 (Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支。但Shell脚本是解释执行的,不需 要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一 行敲到Shell提示符下执行。作为程序设计语言,它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。
Unix系统中常见的shell有:sh、csh、ksh、tcsh、bash
3 脚本的创建过程:
写出自己的第一个Shell脚本:
(1)理清任务:——自然语言:步骤拆分、顺序化整理。
案例需求:
–新建一个名为mtd的本地用户。
–此用户能够正常登录,其密码为654654。
(2)编写可执行文件:——脚本语言:各步骤如何实现。
第一、二、……步依次如何实现?
–使用useradd、passwd命令完成相应的任务步骤
–自然语言–>可执行的命令行
(3)完善脚本:——界面友好/结构规范/代码的优化。
脚本的优化目标:
–界面友好、易读懂、易使用。
–符合规范、方便协作、移植以及代码的重用。
–代码简洁、执行效率高。
完成上面的三步,可以得到一个粗糙的shell脚本:
4 shell系统变量:
‘$#‘ // 保存程序命令行的数目
‘$0‘ // 当前程序名
‘$*‘ // 以(“$1 $2…”)的形式保存所有输入的命令行参数
‘$@‘ // 以(“$1” “$2″…)的形式保存所有输入的命令行参数
‘$n‘ // $1 为命令行的第一个参数,$2为命令行的第二个参数,依次类推
shell环境变量:
PATH // 决定shell将到哪些目录中寻找命令或程序
HOME // 当前用户主目录的完全路径名
HISTSIZE // 历史命令记录数
LOGNAME // 当前用户的登录名
HOSTNAME // 主机的名称
SHELL // shell路径名
LANGUGE // 语言相关的环境变量,多语言可以修改此环境变量
MAIL // 当前用户的邮件存放目录
PWD // 当前工作目录的绝对路径名
环境变量命令:
echo $HOME // 显示变量
export WELCOME=”HE” // 设置变量
env // 查看所有变量
set // 查看本地变量
unset // 删除变量
env | grep WELCOME // 查询变量
shell用户变量:
linux下支持用户自定义变量,使用’ = ‘进行赋值,即 变量名=变量值
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/85451