是否有记录shell脚本参数的约定?
例如:
#!/usr/bin/env bash
# <description>
#
# Usage:
# $ ./myScript param1 [param2]
# * param1: <description>
# * param2: <description>
关于这个特定的模板,有一些我不喜欢的地方:
itself
myScript
)出现在文件中描述似乎很奇怪$
之前的前导空格在视觉上很有用,但可能会导致带有块注释的语言混淆,导致一些验证工具抱怨混合/不一致的缩进(例如,此块中的空格,代码的制表符-当然,如果用户更喜欢制表符)这方面有什么指导原则吗?
发布于 2009-03-26 22:34:31
传统上,您需要在the ()函数中记录参数:
#!/bin/bash
programname=$0
function usage {
echo "usage: $programname [-abch] [-f infile] [-o outfile]"
echo " -a turn on feature a"
echo " -b turn on feature b"
echo " -c turn on feature c"
echo " -h display help"
echo " -f infile specify input file infile"
echo " -o outfile specify output file outfile"
exit 1
}
usage
发布于 2016-11-14 08:39:34
我会使用heredoc重新评论:
usage () {
cat <<HELP_USAGE
$0 [-a] -f <file>
-a All the instances.
-f File to write all the log lines
HELP_USAGE
}
而不是:
echo "$0 [-a] -f <file>"
echo
echo "-a All the instances."
echo "-f File to write all the log lines."
我认为它比所有这些回音线都干净得多。
发布于 2009-03-26 22:33:48
我通常将我的用法包装在函数中,这样我就可以从-h参数等调用它。
#!/bin/bash
usage() {
cat <<EOM
Usage:
$(basename $0) Explain options here
EOM
exit 0
}
[ -z $1 ] && { usage; }
https://stackoverflow.com/questions/687780
复制相似问题