在命令行选项中表示 IP 地址的常用单字母标志是什么?

在命令行选项中表示 IP 地址的常用单字母标志是什么?

我注意到在我使用的大多数读取 IP 地址的程序中,它们要么不使用任何选项标志来表示 IP 地址,而它只是默认输入的一部分(如 ssh、scp、ifconfig 等...),或者就像IPtables,其中它是源 IP 或目标 IP。但我想在某些程序中,IP 地址是一个命名参数。

我只是想知道该名称通常是什么(长或短,如果存在的话),这样我就可以在我的脚本中使用它而不会让人们感到困惑。

答案1

正如您所注意到的,没有约定。这完全取决于应用程序正在执行的操作以及命令行中主机参数的角色,以及与脚本相关的应用程序如何执行此操作。因此,这个问题的答案很可能是基于意见的。

对于“多头期权”来说,--host=hostname可能是一个不错的选择,但这只是个人意见,-h空头期权也是如此。 MySQL/MariaDB 和 PostgreSQL 命令行客户端就是这样做的。

正如德罗伯特在对您的问题的评论中指出的那样,主机名可能与获取帮助-h的使用发生冲突,但是, , 或运行应用程序-h-?--help参数,有时用于此目的。

它也可能有助于指示与特定选项一起使用的主机名的用途,例如--target=hostname等等--jumphost=hostname。如果您想指示主机需要是 IP 地址(而不是主机名),则可以使用--addr=ipaddr或类似的东西。一些工具使用-T-U来指定分别与 TCP 和 UDP 套接字一起使用的绑定地址(特别是syslogd在 OpenBSD 上)。同样,这取决于您的脚本实际在做什么。

如果您的 shell 脚本使用多个选项来修改其行为总是在主机名上操作,则不要像ssh以前那样使用选项来指定主机名。

最后,看看类似的实用程序如何管理其命令行标志并使用一致的东西。如果您正在构建一组多个脚本来执行相关任务,这一点尤其重要。即,不要--host=hostname在一个中使用而-i addr在另一个中使用。

相关内容