首页 > 代码库 > 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


wKioL1N05k2gOCF-AAN9547HSXk495.jpg

删除这三个用户以备下次使用该脚本:


# userdel -r userA; userdel -r userB; userdel -r userC


wKioL1N05mqQvYFgAADj1yPZZWc859.jpg


上述脚本执行后用户无从判断是否执行成功,所以可以对此脚本加以改进,每次添加一个用户后输出一句话以告知用户添加成功了,可以使用echo语句:


# echo Add userA successfully!


# echo Add userB successfully!


# echo Add userC successfully!


wKioL1N05rXRMmvSAAJWbw3dqjA531.jpg



二、检查脚本的语法错误:


在执行脚本前,可以先检查脚本是否存在语法错误,使用的命令是:


# bash -n /Path/To/Script_file.sh


这个命令的使用并不是真正的执行脚本,只做检查之用。如检查刚才的脚本是否存在错误,可以这样操作:


# bash -n useradd.sh            //没有信息产生即证明脚本正确


# tail -3 /etc/passwd            //可以看到并没有真正添加用户


wKioL1N05uGT95m_AADJznfR4uo550.jpg


这里没有信息就证明脚本中的语法是正确的。




三、调试执行脚本


调试执行脚本是用来帮助编程人员随时确认程序是否按要求编写,逻辑是否正确等;它可以将脚本的执行过程显示出来,这个命令是会真正执行命令的,其格式为:


# bash -x /Path/To/Script_file.sh


还是执行useradd.sh这个脚本:


# bash -x useradd.sh                    //能够看到执行的过程


# tail -3 /etc/passwd                    //执行产生了结果,三个用户都被添加了


wKiom1N050LAgWslAAFN6st4HxY357.jpg


观察执行过程可以发现,脚本中所有带 # 的行都没有显示出来,因为带 # 的行都是注释内容。



本文出自 “重剑无锋 大巧不工” 博客,请务必保留此出处http://wuyelan.blog.51cto.com/6118147/1412119