全部博文(471)
分类: LINUX
2013-02-22 19:23:46
四、命令
熟悉了上面三部分内容对于我们写shell程序奠定了基础。但巧妇难为无米之炊
。shell程序的主体内容是shell所提供的命令:例如 cp ls useradd。
如果你没有系统学习过shell的命令,你是写不出来shell程序的。
最后得出结论:
变量+条件+程序结构+shell命令==shell程序。
五、实例:
1. 编写shell程序,实现自动增加50个账号的功能。账号名为stud1至stud50。
#! /bin/bash
#useradd.sh
#i这属于变量
i=1
#while 这属于程序结构
while [ $i -le 50 ]
do
#cat ...命令的含义是使用管道以及正则表达式查看passwd文件中是否存在类似#stud1-stud50之间的用户.这属于 shell 命令
# -z 测试字符串是否为空.这属于条件
if [ -z "`cat /etc/passwd|grep "stud$i\>"`" ]
then
useradd stud$i
echo "useradd success!"
else
"user stud$i exist!"
fi
done
最终验证了我的结论:
shell程序=变量+条件+程序结构+shell命令。
一开始接触linux shell,大多都认为比较难学。但按照上面的学习思路,很快你就会学会shell编程。
六、补充知识:
函数:
Shell也提供了函数机制。格式如下:[function] NAME() {command-list;}
返回值:return [n]
将函数的返回值设定为n .若不指定n值,则使用return 之前所执行的最后一个命令的状态值。
$?
执行后命令后的状态
实例:
#!/bin/bash
function psgrep
{
ps –aux|grep $1
}