多语言展示
当前在线:571今日阅读:19今日分享:20

shell脚本编程经验

本人从以下几个方面说明shell脚本编程经验,带领新手入门shell的编程规范# 简短的使用帮助# 输入参数的检查和赋值# 环境变量的维护# 输出和日志其他编程方面的注意事项,如流程控制,变量引用格式,函数返回值的定义等,需要大家从经验从不断的积累和思考
工具/原料
1

linux系统环境:包含centos,ubuntu等linux发行版

2

bash环境

方法/步骤
1

简短的使用帮助动机 : 一般的程序都需要有帮助信息,在参数检查失败的时候,给出提示参考例子:filename=$0usage() {        echo $filename -b  -c 10 [ -i cluster|single ]        echo -ne '-b \t 必选 意义 ;'   echo -ne '-c num \t 必选 意义 ;' echo -ne '-i cluster|single \t 可选 意义 ;'}

2

输入参数的检查和赋值动机 : 一般的程序都需要对输入的参数进行有效性检查,出现问题的时候,给出帮助提示,正确的时候,使用输入对程序的变量进行赋值参考例子:arg_i=''arg_j=''while getopts 'i:j:' argdo    case $arg in    i)    arg_i='$OPTARG'    ;;    j)    arg_j='$OPTARG'    ;;    ?)    { usage; exit 1; }    ;;    esacdone

4

环境变量的维护动机 : 某些程序需要修改环境,如进入其他目录,修改字符集变量等;比较优雅的处理方式是程序结束之后,对这些环境变量进行还原参考例子:# 保存环境变量old_lang=$LANGold_dir=`pwd`# 修改环境变量export.UTF-8cd /# 还原环境变量export LANG=${old_lang}cd ${old_dir}

5

输出和日志动机 : 为了日志的美观和统一性,可以统一定义日志输出的格式,如加上日志输出的时间参考例子(日志内容之前加上时间戳):ret_status='OK'echo -e `date '+%F %T'` ' cluster switch is ${ret_status} 'END

推荐信息