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                    //执行产生了结果,三个用户都被添加了

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

12_Shell语言———脚本的书写规范以及检查和调试脚本,布布扣,bubuko.com

时间: 2024-10-03 23:04:46

12_Shell语言———脚本的书写规范以及检查和调试脚本的相关文章

Shell脚本的书写规范与优秀的开发习惯

<--目录-->1)脚本模块名2)代码框架3)函数规范4)脚本存放规范5)补充规范19条6)优秀的开发习惯 [脚本模块名]1.常规Shell脚本使用统一后辍:.sh,例:wsyht.sh2.模块的启动和停止脚本统一命名为start_{模块名}.sh和sop_{模块名}.sh3.监控脚本可以*_mon.sh为后辍,控制脚本以*_ctl.sh为后辍4.模块(及其脚本和二进制程序)命名应该代表其特性和功能,不要使用个人名字缩写等形式命名5.模块中的脚本和二进制程序命名禁止和其它脚本和二进制程序重名

代码书写规范和命名规范

上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看过java源代码,你会发现java源代码的整体风格几乎是一致的,但是你要知道编写源代码的人是很多的,如何才能让他们写出同一风格的代码呢?这就是代码书写规范的作用. 代码书写规范描述的是如何从头到尾书写代码(自己定义的).通俗点讲就是如何书写java文件.就像你写毕业论文一样,从头到尾每个细节都是有要

swift基础_书写规范

创建一个swift工程: 来到主函数,啥?找不到OC一样的main函数? 别废话了,上代码,我来分析一下: //Fundation 基础包 import Foundation //没有执行main函数,执行顺序从上往下执行 //执行这个prinr这个函数 //Lua pathon语言一样不需要加分号 print("Hello, World!") //定义变量 int a;变量定义以var开头 var开头就声明一个变量 //myVar就是一个变量名,这里变量名需要些初始化 var myV

前端代码书写规范

HTML 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 嵌套元素应当缩进一次(即两个空格). 对于属性的定义,确保全部使用双引号,绝不要使用单引号. 不要在自闭合(self-closing)元素的尾部添加斜线 -- HTML5 规范中明确说明这是可选的. 不要省略可选的结束标签(closing tag)(例如,</li> 或 </body>). <!DOCTYPE html> <html> <head&g

PHP书写规范

PHP书写规范 PHP Coding Standard 作者:sink <[email protected]> 最后修改:2011-7-13 参考资料: PHP Manual http://www.php.net/manual/zh/language.oop5.basic.php PEAR Coding Standards http://pear.php.net/manual/en/standards.php C++ Coding Standard http://www.possibility

[Java基础回顾] XML的书写规范与解析.

前言今天天气大好, 起了个大早开始总结一些常用的基础知识. XML一直来说都很陌生, 使用大多是用于配置文件, 之前并没有细究过其中的约束规范, 今天刚好没事来学习并总结下. 1,XML基础介绍 XML 指可扩展标记语言(EXtensible Markup Language),也是一种标记语言,很类似 HTML.它的设计宗旨是传输数据,而非显示数据它;标签没有被预定义,需要自行定义标签. xml的作用: XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行

PHP书写规范 匈牙利命名法+驼峰法命名

PHP书写规范 PHP Coding Standard 变量命名规范这里感觉 打算采用 匈牙利命名法+驼峰法命名,因为 PHP是弱类型语言,很多时间因为忽略了变量类型而导致犯一些低级错误.所以在前面加上类型名有助于更好的理解代码. 下载是转载 PHP书写规范作者:sink <[email protected]>最后修改:2011-7-13 参考资料:PHP Manualhttp://www.php.net/manual/zh/language.oop5.basic.phpPEAR Coding

【转载】简历的书写规范(公司怎么看我们的简历)

人事部门是这样阅读简历的 (+15分)如果简历中说到了和工作职位相符的技能超过5次以上. (+8分)如果简历中说到了和工作职位相符的技能3次到5次. (+4分)如果简历中说到了和工作职位相符的技能1次到2次. (+4分)Cover Letter(“求职信”或“自荐信”)提到了招聘人员. (+2分)简历中有Cover Letter(求职信). (-10分)没有提到和职位描述相关的技能. (-15分)没有受过大专教育. 程序员是这样阅读简历的 (+15分)曾经因为好玩而写过操作系统或编译器. (+1

JAVA书写规范

java程序书写规范 命名规范    1.一般概念        1.尽量使用完整的英文描述符        2.采用适用于相关领域的术语        3.采用大小写混合使名字可读        4.尽量少用缩写,但如果用了,必须符合整个工程中的统一定义        5.避免使用长的名字(小于 15 个字母为正常选择)        6.避免使用类似的名字,或者仅仅是大小写不同的名字        7.避免使用下划线(除静态常量等)     2.标识符类型说明        1.包( Pac