【发布时间】:2022-03-03 23:05:35
【问题描述】:
所以,我刚开始在 Linux 中使用自定义命令介绍自己并创建了一个,但现在我希望它像这样在全局范围内执行, 说我的命令是 owncmd #!/bin/bash echo "嘿嘿自定义命令"
当我执行时,这工作得很好 $-owncmd 但我想编写版本或帮助页面,例如: $- owncmd --version 或 owncmd --help
【问题讨论】:
标签: bash
所以,我刚开始在 Linux 中使用自定义命令介绍自己并创建了一个,但现在我希望它像这样在全局范围内执行, 说我的命令是 owncmd #!/bin/bash echo "嘿嘿自定义命令"
当我执行时,这工作得很好 $-owncmd 但我想编写版本或帮助页面,例如: $- owncmd --version 或 owncmd --help
【问题讨论】:
标签: bash
您可以检查输入 $1 以查看它是 -v 还是 --version 在这种情况下您打印版本并停止而不执行实际代码。 -h 或 --help 的同义词。
【讨论】:
您应该创建一个 CLI(命令行界面)。
为此,您应该解析命令行参数,例如--help 和--version。您可以通过$1、$2、...访问它们。
这是您的代码示例:
#!/bin/bash
cli_help() {
# --help: Shows help message
echo "
owncmd - Custom command
Usage:
owncmd [options]
Options:
--help / -h: Show this message and exit.
--version / -V: Show version number and exit.
"
exit
}
cli_version() {
# --version: Show version
echo "owncmd v1.0"
exit
}
# Argument
case $1 in
"--help"|"-h")
cli_help
;;
"--version"|"-V")
cli_version
;;
esac
# Main program
echo "Heya custom commands"
程序看第一个参数$1。
--help或-h:显示帮助信息(函数cli_help)并退出--version或-V:显示版本号(函数cli_version)并退出ℹ️ 注意:我们使用
-V而不是-v,因为-v表示“详细模式”,而不是“版本”。
如果没有--help 或--version,则程序显示Heya custom commands。
【讨论】: