感受一下完美的shell编写规范

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 14:07 点击:

 

最近24花了不少时间在研究shell,对于这个东西也学了挺久了,一些基本的需要都

能够写出来,但是超过几百行甚至上千行的代码都是没写过。在阿里巴巴这段时间

一直在研究好几个长达上千行的shell脚本,实际上里头存在很多类似的调用,比如

说函数。再者就是对整个硬件体系的深入了解,摸清楚系统的工作原理和流程,

但怎么说能够写出功能如此强悍的代码,24还是钦佩不已。

接下来这周24主要还是研究awk这部分,应该说shell的内容主要围绕一些循环、判断

、获取用户数据、显示数据、函数、脚本控制之类的内容展开,以及借用grep、sed、

awk、cut、sort、正则表达式等等之类的实现具体的需求。总的来说,awk显得

较为强大,几乎可以取代了其他脚本实现方法。这段时间24在51CTO论坛里开了个

帖子专门探究shell脚本编程:Shell脚本编程置顶贴(源源不断)

大家有兴趣都可以去捧捧场,学习学习。里头有一个ID为wenmin88888 都用awk

实现了,基本上都是一条命令搞定。换成sed 附带if判断之类的恐怕要写很长了。

 

说到代码规范,其实每个程序员都很关注这一点,只是换成系统管理员来说就没

那么重视咯。看起来舒服、注释到位的代码是衡量一段代码质量的标准之一,24

个人是这么认为哈。但是SA每天的工作不是一直在写代码,也许更多的是敲命令。

所以写脚本的时候,更为关注的应该是代码执行质量、运行效果而不是规范性。

当然,这不是说大批的linux SA写脚本没有规范性,不好看。24还是见过不少牛逼

人物写的代码看起来很顺眼的,注释到位,提示合理,顺序清晰。刚好今天打酱

油看到一篇shell脚本,写的非常好,是一个游戏脚本--“挖地雷”。像代码注释

段,该有的信息都有,显得非常专业化,再者脚本的内容也看起来很舒服,可以说

是化难为易。当然了,这里不是推荐大伙们去研究这段脚本,而是体会一下他的

书写规范。不过能够把下面的内容理解了,自己在此基础上改进发布改进版,那是

再好不过的事情啦。这段代码测试没问题的,24已经验证过了:

 

 

#!/bin/bash 

#-------------CopyRight------------- 

#   Name:Mine Sweeping 

#   Version Number:1.00 

#   Type:game 

#   Language:bash shell 

#   Date:2005-10-26 

#   Author:BitBull 

#   Email:BitBull.cn(at)gmail.com 

#------------Environment------------ 

#   Terminal: column 80 line 24 

#   Linux 2.6.9 i686 

#   GNU Bash 3.00.15 

#----------------------------------- 

 

#---------------Define-------------- 

ECHO="echo -ne"

ESC="\033["

 

OK=0

FALSE=1

#--------------Variable-------------- 

#ANSI ESC action 

FLASH=5

REV=7

 

#color 

NULL=0

BLACK=30

RED=31

GREEN=32

ORANGE=33

BLUE=34

PURPLE=35

SBLUE=36

GREY=37

 

#back color 

BBLACK=40

BRED=41

BGREEN=42

BORANGE=43

BBLUE=44

BPURPLE=45

BSBLUE=46

BGREY=47

 

MINE='@'

FLAG='F'

NUL=' '

SHADOW='X'

 

X=0

Y=0

CurX=1 #cur's X 

CurY=1 #cur's Y 

OCurX=1 #old cur's X 

OCurY=1 #old cur's Y 

MCount=0 #count mine 

FCount=0 #count flag 

SCount=0 #count shadow 

MXYp=0 #MXY Array's ptr 

#---------------Array---------------- 

 

#if ${XY[]} == M { mine } 

#if ${XY[]} == F { flag } 

#if ${XY[]} == N { null } 

#if ${XY

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • dos命令原来也能这样用?允许查找未知子目录指定文件
      •  windows的磁盘操作之八——格式化分区的思考
      • windows篇-第三章 安装和配置DNS服务器
      • windows篇-第二章 安装和配置Web服务器
      • windows篇-第一章 windows server 2008安装和简单配置
      •  windows server 2003断开远程之后自动注销用户
      • Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法
      • Windows 2008 R2 SP1部署WSUS 3.0 SP2
      • windows 2008 rodc扩展

      快速直达

      操作系统导航

      LinuxWindows虚拟机
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1