感受一下完美的shell编写规范
最近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
相关新闻>>
- 发表评论
-
- 最新评论 更多>>