shell编程:
shell:弱类型编程语言
强:变量在使用前,必须事先声明,甚至还需要初始
弱:变量用时声明,甚至不区分类型
bash变量类型:
环境变量
本地变量
位置变量
特殊变量
本地变量:
VARNAME=VALUE:作用域为整个bash进程:
局部变量:
local VARNAME=VALUE:作用域为当前代码段:
环境变量:作用域为当前shell进程及其子进程
export VARNAME=VALUE
位置变量:
$1,$2,....
特殊变量:
$?:上一个命令的执行状态返回值:
程序执行,可能有两类返回值:
程序执行结果
程序状态返回代码(0-255)
0:正确执行
1-255:错误执行, 1,2,127系统预留;
/dev/null :软件设备,bit bucket,数据黑洞
撤销变量
unset VARNAME
查看当前shell中变量
set
查看当前shell中的环境变量
printenv
env
export
脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序
shebang:魔数
#!/bin/bash
脚本在执行时会启动一个子shell进程:
命令行中启动的脚本会继承当前shell环境变量
系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量;
引用变量:${VARNAME},括号有时可省略。
练习:
1、添加5个用户,user1,...,user5
2、每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令的执行结果信息
3、每个用户添加完成后,都要显示用户某某已经成功添加;
练习:
1、使用一个变量保存一个用户名
2、删除此变量中的用户,且一并删除起家目录
3、显示“用户删除完成”类的信息;
原文地址:http://ricewang.blog.51cto.com/7579204/1737659