我想返回一个特定的行从一个男人页面的退出代码部分,给出一个有效的退出代码。
例如,如果我在脚本中运行卷曲并返回一个2的退出代码,我想从卷曲人页面返回该行:

      2      Failed to initialize.

到目前为止,我尝试将man curl的输出管道化为grep,如下所示:
假设在运行curl命令后$RETCODE=${?}
lewis@hostname:~$ man curl | grep "${RETCODE}"
    http://www.letters.com/file[a-z:2].txt
          in the format "NAME1=VALUE1; NAME2=VALUE2".
          out to be in text mode for win32 systems.
          from outputting that and return error 22.
          re-use the same IP address it already uses for the control connection. (Added in 7.14.2)
...
...

但这会收集到大量其他关于这个数字的文本。鉴于退出代码部分缩进,我已经尝试过。
lewis@hostname:~$ man curl | grep "       ${RETCODE}"
         2) On windows, if there is no _curlrc file in the home  dir,  it
  2      Failed to initialize.
         227-line.
  21     FTP quote error. A quote command returned error from the server.
...

如你所见,我们很接近。我想要的文本在那里,但它仍然返回不正确的结果。
注意,对于具有两个或更多个数字的退出代码,减少了在MAN页面中的右边的空白。

最佳答案

尝试:

man curl | egrep " {7}${RETCODE} +\S+"

关于linux - 使用bash从手册页中拉出特定行以获得给定的退出代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7646706/

10-15 12:55