作为一个运维人员编写Shell脚本是很平常的,一个格式好的脚本不仅赏心悦目,后期自己和别人也易于维护。
下面的脚本就是我自己的shell编写格式,如下:
[root@mini05 -]# cat template.sh
#!/bin/sh
################ Version Info ##################
# Create Date: --
# Author: Zhang
# Mail: zhang@xxxx.com
# Version: 1.0
# Attention: shell脚本模板
################################################ # 加载环境变量
# 如果脚本放到crontab中执行,会缺少环境变量,所以需要添加以下3行
. /etc/profile
. ~/.bash_profile
. /etc/bashrc # 脚本所在目录即脚本名称
script_dir=$( cd "$( dirname "$" )" && pwd )
script_name=$(basename ${})
# 日志目录
log_dir="${script_dir}/log"
[ ! -d ${log_dir} ] && {
mkdir -p ${log_dir}
} errorMsg(){
echo "USAGE:$0 arg1 arg2 arg3"
exit
} doCode() {
echo $
echo $
echo $
} main() {
if [ $# -ne ];then
errorMsg
fi
doCode "$1" "$2" "$3"
} # 需要把隐号加上,不然传入的参数就不能有空格
main "$@"
测试如下:
[root@mini05 -]# ./template.sh
USAGE:./template.sh arg1 arg2 arg3
[root@mini05 -]# ./template.sh
USAGE:./template.sh arg1 arg2 arg3
[root@mini05 -]# ./template.sh '222 333'
USAGE:./template.sh arg1 arg2 arg3
[root@mini05 -]# ./template.sh '222 333' "444 555" [root@mini05 -]# ./template.sh '222 333' "444 555" ""
USAGE:./template.sh arg1 arg2 arg3