Shell脚本编程的一些小风格
来源:互联网 发布:linux 创建多级文件夹 编辑:程序博客网 时间:2024/05/19 03:27
Shell虽然是脚本语言,但我们也不能忽略其优雅的编程风格,下面是一些小的书写习惯。
- 将命令或命令组合设为一个见名知意的别名,在一个Shell环境中可以被多次调用,同时,利于代码的清晰度,也便于代码的阅读。 通常封装在一个库文件中,比如:demo.lib
#! /bin/shalias LOCAL='local'alias GLOBAL=''alias OPEN_DEBUG='set -x'alias CLOSE_DEBUG='set +x'alias GET_IP_FQDN='nslookup ${IP_ADDRESS} | tail -n 2 | sed -e "$d" | awk -F[=] "{print \$NF}" | sed -e "s/^\s*//" -e "s/\.$//"'
- 将属性键值对,配置在文件中,供Shell读取,以此达到配置与代码的剥离,也避免程序的硬编码,比如:info.conf
NAME="Zhou Shengshuai"COMPANY="ZSS"
如何执行lib中的alias呢? 又如何读取info.conf中的属性值呢?下面的demo.sh一目了然。
#! /bin/sh# 在当前进程中,Source参数文件demo.lib中的各个命令source demo.lib# 全局变量IP_ADDRESS,在当前Shell环境中,可以被demo.lib共享,即:IP_ADDRESS可以在demo.lib被使用GLOBAL IP_ADDRESS="10.91.86.250"# 执行当前Shell环境中的命令,即:demo.lib中的GET_IP_FQDNGLOBAL IP_FQDN=`GET_IP_FQDN`echo "IP FQDN: ${IP_FQDN}"# 执行当前Shell环境中的命令,即:demo.lib中的OPEN_DEBUGOPEN_DEBUG# 在当前进程中,读取参数文件info.conf中的各个属性值CONF_FILE="info.conf"[ -e ${CONF_FILE} ] && source ${CONF_FILE}echo "NAME: $NAME"echo "COMPANY: $COMPANY"function test1{ # 局部变量,生存周期在函数体内 LOCAL v1=100}test1echo "local variable: $v1"function test2{# 全局变量,生存周期从函数调用开始被Shell环境共享GLOBAL v2=200}test2echo "global variable: $v2"# 执行当前Shell环境中的命令,即:demo.lib中的CLOSE_DEBUGCLOSE_DEBUG# 将整个EOF"内容段"作为命令输入cat >output.txt << EOFABCDEFGHIJKLMNOPQRSTUVWXYZEOF
0 0
- Shell脚本编程的一些小风格
- shell脚本的一些编程
- 良好编程风格的一些小技巧
- 良好编程风格的一些小技巧
- 自己的一些小shell脚本
- shell编程的一些小技巧
- Shell的脚本编程
- 【shell】一些编程的小技巧及sed(未完成)
- 实用的小shell脚本
- Shell 脚本的小实战
- shell脚本的一些操作
- Shell脚本的一些语法
- shell脚本的一些注意事项
- shell脚本的一些注意事项
- shell脚本的一些知识
- shell脚本的一些基础知识
- Shell脚本的一些参数
- shell的一些小hack
- Win8.1宽带连接后自动打开Bing或其他网页的解决方法
- Spring3系列13-Controller和@RequestMapping
- BlazeDS 整合 Flex
- poj 2769 暴力(memset的限制)
- 高精度练习之减法
- Shell脚本编程的一些小风格
- 文章标题
- centos下使得php支持mysql
- 纯js可定制的跨浏览器日期时间选择器插件
- 华为 Java 编程军规,每季度代码验收标准
- C语言函数指针基础
- ZOJ 3770 Ranking System
- 知乎API搜集
- UVa 11991 I Can Guess The Data Structure(STL基础)