我正在处理一个需要使用以下命令之一运行的项目:
./ project.exe -Stack <[文件名]
./ project.exe-队列<[文件名]
我想知道为什么Stack和Queue前面都有一个-以及文件名为什么以<开头并放在方括号中。
此格式的目的是告诉程序使用堆栈类运行还是使用队列类运行。我还需要从命令行中提到的文本文件中提取信息。
我熟悉常规命令行参数以及如何使用它们,但是我以前从未见过这种表示法,也找不到任何明确的解释。
答案 0 :(得分:3)
选项的破折号只是一个常见约定。通常在现代的命令行程序中,人们对所谓的 long 选项使用双破折号(例如--stack
),对 short 选项使用单破折号(例如{ {1}}。
许多现有的参数解析器(例如Linux getopt_long
function)实际上需要将单点或双点破折号识别为短和长选项。
-s
是文件重定向。它告诉外壳程序从文件重定向程序标准输入。在程序内部,您可以从标准输入(<
)中读取内容,它将自动从文件中读取内容。重定向完全由外壳程序处理。