man xinput描述与xinput一起使用的各种选项。一种选择是:
--list [--short || --long || --name-only || --id-only] [device]但是我可以运行xinput --list或xinput list,两者都提供相同的输出:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ PS/2 Mouse id=12 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS GlidePoint id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated_Webcam_1.3M id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=14 [slave keyboard (3)]为什么在使用--选项之前不需要list?
(我的操作系统是Lubuntu 13.10。)
发布于 2013-12-16 12:53:22
因为这就是开发者想要的。
-和-是关于可选论点的惯例。
没有破折号通常是用来操作的。
在这种情况下-列表既是一个操作(think命令),也是一个可选的参数。
请参阅这些医生,但要意识到代码编写人员可以实现他们想要的。事实是,虽然它在技术上是正确的--列表和列表可能是这样实现的,这样更容易被更多的人使用。
发布于 2013-12-16 13:20:01
转换完全取决于应用程序的开发人员,以及他们希望如何实现它。但是,通常情况下,它们会受到无法控制的其他事情的限制,例如决定使用一个库/工具来帮助解析命令的命令行参数。
例如,在开发Bash脚本时,有2个这样的工具/库可以促进这一点:getopt和getopts。这篇文章很好地展示了一些不同之处,标题为:Bash getopt与getopts。
使用这些库通常会迫使开发人员使用无破折号(即list)、单个破折号(即(-l或-list))或双破折号(--list)实现切换。
更高层次的语言,如Perl、Python、Ruby、C/C++也可以从中选择这些类型的库。这只是为了解释为什么xinput可以承受这两者之一。
https://unix.stackexchange.com/questions/105364
复制相似问题