我想编写一个像git这样的命令行工具,它将遵循POSIX标准.它将采用像–help或-h,– version ..等选项.但我没有得到如何做到这一点.任何人都可以告诉我如何使用bash脚本执行此操作.请帮我.这对我来说很新鲜.
示例:如果我的工具名称是Check-code,那么我想使用该工具;
Check-code --help
要么
Check-code --version
解决方法
据我所知,“长选项”,如–help和–version不是POSIX标准,而是GNU标准.对于命令行实用程序,POSIX标准说:
由连字符和单个字母或数字组成的参数(例如“a”)称为“选项”(或历史上称为“标志”).
要支持POSIX短选项选项,值得了解getopts(网上有教程),但它不支持GNU长选项.
对于长期选择,你必须自己动手:
filename=default while (( $# > 0 )) do opt="$1" shift case $opt in --help) helpfunc exit 0 ;; --version) echo "$0 version $version" exit 0 ;; --file) # Example with an operand filename="$1" shift ;; --*) echo "Invalid option: '$opt'" >&2 exit 1 ;; *) # end of long options break; ;; esac done