首页 > 代码库 > 12_Shell语言———脚本的书写规范以及检查和调试脚本
12_Shell语言———脚本的书写规范以及检查和调试脚本
一、脚本的书写规范
在前文中写过一个脚本first.sh,用来创建一个用户,这里新创建一个脚本useradd.sh,用来创建多个用户,用户名和密码相同:
# nano useradd.sh
#! /bin/bash # Author: Mickey // 指定作者 # Date:2014-5-14 // 指定日期 # Version:0.0.1 // 指定版本 # Description:Add Users // 描述脚本的功能 # 上述内容为规范的脚本格式 useradd userA echo userA | passwd --stdin userA > /dev/null # 使用管道将用户名作为密码传 #递给passwd命令,但不想让密码显 #示到屏幕上,故将输出重定向到 /dev/null useradd userB echo userB | passwd --stdin userB > /dev/null # 创建第二个用户 useradd userC echo userC | passwd --stdin userC > /dev/null # 创建第三个用户
保存此脚本退出,为该脚本赋执行权限后执行:
# chmod +x useradd.sh
# ll
# ./useradd.sh
删除这三个用户以备下次使用该脚本:
# userdel -r userA; userdel -r userB; userdel -r userC
上述脚本执行后用户无从判断是否执行成功,所以可以对此脚本加以改进,每次添加一个用户后输出一句话以告知用户添加成功了,可以使用echo语句:
# echo “Add userA successfully!”
# echo “Add userB successfully!”
# echo “Add userC successfully!”
二、检查脚本的语法错误:
在执行脚本前,可以先检查脚本是否存在语法错误,使用的命令是:
# bash -n /Path/To/Script_file.sh
这个命令的使用并不是真正的执行脚本,只做检查之用。如检查刚才的脚本是否存在错误,可以这样操作:
# bash -n useradd.sh //没有信息产生即证明脚本正确
# tail -3 /etc/passwd //可以看到并没有真正添加用户
这里没有信息就证明脚本中的语法是正确的。
三、调试执行脚本
调试执行脚本是用来帮助编程人员随时确认程序是否按要求编写,逻辑是否正确等;它可以将脚本的执行过程显示出来,这个命令是会真正执行命令的,其格式为:
# bash -x /Path/To/Script_file.sh
还是执行useradd.sh这个脚本:
# bash -x useradd.sh //能够看到执行的过程
# tail -3 /etc/passwd //执行产生了结果,三个用户都被添加了
观察执行过程可以发现,脚本中所有带 # 的行都没有显示出来,因为带 # 的行都是注释内容。
本文出自 “重剑无锋 大巧不工” 博客,请务必保留此出处http://wuyelan.blog.51cto.com/6118147/1412119