2018-09-16 06:51:19 +08:00
|
|
|
#!/bin/bash
|
|
|
|
# 一些输出帮助文档的函数
|
|
|
|
# 显示命令简介 两个参数 命令名称 命令简介
|
2018-09-29 22:28:38 +08:00
|
|
|
#function dispTitle(){
|
|
|
|
# winWidth=`tput cols`
|
|
|
|
#
|
|
|
|
# cutLength=`expr ${winWidth} - 19`
|
|
|
|
# segment=${2:0:${cutLength}}
|
|
|
|
# printf "%s\n%-10s%s\n" "${1}" " " "${segment}"
|
|
|
|
#
|
|
|
|
# times=1
|
|
|
|
# while (( ${#segment} == ${cutLength} ))
|
|
|
|
# do
|
|
|
|
# st=`expr ${cutLength} \* ${times}`
|
|
|
|
# segment=${2:${st}:${cutLength}}
|
|
|
|
# printf "%-10s%s\n" " " "${segment}"
|
|
|
|
# times=`expr ${times} + 1`
|
|
|
|
# done
|
|
|
|
# printf "\n"
|
|
|
|
#}
|
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
function dispTitle(){
|
|
|
|
winWidth=`tput cols`
|
2018-09-29 22:28:38 +08:00
|
|
|
message=${2}
|
|
|
|
|
|
|
|
printf "%s\n%-9s" "${1}"
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
head_length=19
|
|
|
|
print_length=${head_length}
|
|
|
|
for segment in ${message[@]}; do
|
|
|
|
print_length=`expr ${print_length} + ${#segment} + 1`
|
|
|
|
if [[ ${print_length} -le ${winWidth} ]]; then
|
|
|
|
printf " %s" "${segment}"
|
|
|
|
else
|
|
|
|
print_length=`expr ${head_length} + ${#segment} + 1`
|
|
|
|
printf "\n%-10s%s" " " "${segment}"
|
|
|
|
fi
|
2018-09-16 06:51:19 +08:00
|
|
|
done
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "\n\n"
|
2018-09-16 06:51:19 +08:00
|
|
|
}
|
2018-09-29 22:28:38 +08:00
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
# 显示作者信息 一个参数 作者信息
|
2018-09-29 22:28:38 +08:00
|
|
|
#function dispAuthorInfo(){
|
|
|
|
# winWidth=`tput cols`
|
|
|
|
#
|
|
|
|
# cutLength=`expr ${winWidth} - 19`
|
|
|
|
# segment=${1:0:${cutLength}}
|
|
|
|
#
|
|
|
|
# printf "%-10s%s\n" "Author:" "${segment}"
|
|
|
|
#
|
|
|
|
# times=1
|
|
|
|
# while (( ${#segment} == ${cutLength} ))
|
|
|
|
# do
|
|
|
|
# st=`expr ${cutLength} \* ${times}`
|
|
|
|
# segment=${1:${st}:${cutLength}}
|
|
|
|
# printf "%-10s%s\n" " " "${segment}"
|
|
|
|
# times=`expr ${times} + 1`
|
|
|
|
# done
|
|
|
|
# printf "\n"
|
|
|
|
#}
|
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
function dispAuthorInfo(){
|
|
|
|
winWidth=`tput cols`
|
2018-09-29 22:28:38 +08:00
|
|
|
message=${1}
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "%-9s" "Author:"
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
head_length=19
|
|
|
|
print_length=${head_length}
|
|
|
|
for segment in ${message[@]}; do
|
|
|
|
print_length=`expr ${print_length} + ${#segment} + 1`
|
|
|
|
if [[ ${print_length} -le ${winWidth} ]]; then
|
|
|
|
printf " %s" "${segment}"
|
|
|
|
else
|
|
|
|
print_length=`expr ${head_length} + ${#segment} + 1`
|
|
|
|
printf "\n%-10s%s" " " "${segment}"
|
|
|
|
fi
|
2018-09-16 06:51:19 +08:00
|
|
|
done
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "\n\n"
|
2018-09-16 06:51:19 +08:00
|
|
|
}
|
2018-09-29 22:28:38 +08:00
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
# 显示用法 一个参数 做法信息
|
2018-09-29 22:28:38 +08:00
|
|
|
#function dispUsage(){
|
|
|
|
# winWidth=`tput cols`
|
|
|
|
#
|
|
|
|
# cutLength=`expr ${winWidth} - 19`
|
|
|
|
# segment=${1:0:${cutLength}}
|
|
|
|
#
|
|
|
|
# printf "%-10s%s\n" "Usage:" "${segment}"
|
|
|
|
#
|
|
|
|
# times=1
|
|
|
|
# while (( ${#segment} == ${cutLength} ))
|
|
|
|
# do
|
|
|
|
# st=`expr ${cutLength} \* ${times}`
|
|
|
|
# segment=${1:${st}:${cutLength}}
|
|
|
|
# printf "%-10s%s\n" " " "${segment}"
|
|
|
|
# times=`expr ${times} + 1`
|
|
|
|
# done
|
|
|
|
# printf "\nOptions:\n"
|
|
|
|
#}
|
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
function dispUsage(){
|
|
|
|
winWidth=`tput cols`
|
2018-09-29 22:28:38 +08:00
|
|
|
message=${1}
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "%-9s" "Usage:"
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
head_length=19
|
|
|
|
print_length=${head_length}
|
|
|
|
for segment in ${message[@]}; do
|
|
|
|
print_length=`expr ${print_length} + ${#segment} + 1`
|
|
|
|
if [[ ${print_length} -le ${winWidth} ]]; then
|
|
|
|
printf " %s" "${segment}"
|
|
|
|
else
|
|
|
|
print_length=`expr ${head_length} + ${#segment} + 1`
|
|
|
|
printf "\n%-10s%s" " " "${segment}"
|
|
|
|
fi
|
2018-09-16 06:51:19 +08:00
|
|
|
done
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "\n\n"
|
2018-09-16 06:51:19 +08:00
|
|
|
}
|
2018-09-29 22:28:38 +08:00
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
# 短命令说明 两个参数 命令符号 命令说明
|
2018-09-29 22:28:38 +08:00
|
|
|
#function dispOptionShort(){
|
|
|
|
# winWidth=`tput cols`
|
|
|
|
#
|
|
|
|
# cutLength=`expr ${winWidth} - 19`
|
|
|
|
# segment=${2:0:${cutLength}}
|
|
|
|
# printf "%-4s%-6s%s\n" " " "${1}" "${segment}"
|
|
|
|
#
|
|
|
|
# times=1
|
|
|
|
# while (( ${#segment} == ${cutLength} ))
|
|
|
|
# do
|
|
|
|
# st=`expr ${cutLength} \* ${times}`
|
|
|
|
# segment=${2:${st}:${cutLength}}
|
|
|
|
# printf "%-10s%s\n" " " "${segment}"
|
|
|
|
# times=`expr ${times} + 1`
|
|
|
|
# done
|
|
|
|
#}
|
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
function dispOptionShort(){
|
|
|
|
winWidth=`tput cols`
|
2018-09-29 22:28:38 +08:00
|
|
|
message=${2}
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "%-4s%-5s" " " "${1}"
|
|
|
|
|
|
|
|
head_length=19
|
|
|
|
print_length=${head_length}
|
|
|
|
for segment in ${message[@]}; do
|
|
|
|
print_length=`expr ${print_length} + ${#segment} + 1`
|
|
|
|
if [[ ${print_length} -le ${winWidth} ]]; then
|
|
|
|
printf " %s" "${segment}"
|
|
|
|
else
|
|
|
|
print_length=`expr ${head_length} + ${#segment} + 1`
|
|
|
|
printf "\n%-10s%s" " " "${segment}"
|
|
|
|
fi
|
2018-09-16 06:51:19 +08:00
|
|
|
done
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "\n"
|
2018-09-16 06:51:19 +08:00
|
|
|
}
|
2018-09-29 22:28:38 +08:00
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
# 长命令说明 三个参数 短命令符号 长命令符号 命令说明
|
2018-09-29 22:28:38 +08:00
|
|
|
#function dispOptionLong(){
|
|
|
|
# winWidth=`tput cols`
|
|
|
|
#
|
|
|
|
# cutLength=`expr ${winWidth} - 32`
|
|
|
|
# segment=${3:0:${cutLength}}
|
|
|
|
# printf "%-4s%-6s%-12s%s\n" " " "${1}" "${2}" "${segment}"
|
|
|
|
#
|
|
|
|
# times=1
|
|
|
|
# while (( ${#segment} == ${cutLength} ))
|
|
|
|
# do
|
|
|
|
# st=`expr ${cutLength} \* ${times}`
|
|
|
|
# segment=${3:${st}:${cutLength}}
|
|
|
|
# printf "%-22s%s\n" " " "${segment}"
|
|
|
|
# times=`expr ${times} + 1`
|
|
|
|
# done
|
|
|
|
#}
|
|
|
|
|
2018-09-16 06:51:19 +08:00
|
|
|
function dispOptionLong(){
|
|
|
|
winWidth=`tput cols`
|
2018-09-29 22:28:38 +08:00
|
|
|
message=${3}
|
2018-09-16 06:51:19 +08:00
|
|
|
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "%-4s%-6s%-11s" " " "${1}" "${2}"
|
|
|
|
|
|
|
|
head_length=32
|
|
|
|
print_length=${head_length}
|
|
|
|
for segment in ${message[@]}; do
|
|
|
|
print_length=`expr ${print_length} + ${#segment} + 1`
|
|
|
|
if [[ ${print_length} -le ${winWidth} ]]; then
|
|
|
|
printf " %s" "${segment}"
|
|
|
|
else
|
|
|
|
print_length=`expr ${head_length} + ${#segment} + 1`
|
|
|
|
printf "\n%-22s%s" " " "${segment}"
|
|
|
|
fi
|
2018-09-16 06:51:19 +08:00
|
|
|
done
|
2018-09-29 22:28:38 +08:00
|
|
|
printf "\n"
|
2018-09-16 06:51:19 +08:00
|
|
|
}
|