`man bash | grep ulimit` 不返回任何内容

`man bash | grep ulimit` 不返回任何内容

我知道内置命令ulimit在手册页中列出bash

但是,搜索它却没有返回任何内容。为什么?

grep并且man都运行良好,man bash | grep strings返回几条匹配的行。

我怀疑这与粗体文本或类似内容有关,但我找不到答案。环境变量LANG=en_US.UTF-8

(我正在最新的Mac OS X 雪豹, 和终端应用程序,如果这很重要的话。我的交互式 shell 是

编辑:GNU grep 2.5.1,man 1.6c。

答案1

我没有你的环境,所以无法测试。作为一种解决方法,你可以将输出通过管道传输到文件并通过 grep 进行搜索

man bash | col -bx > /tmp/bash.man
grep ulimit /tmp/bash.man

答案2

我没有 Mac,但在 Ubuntu 上,手册页会通过程序显示less

要在手册页中搜索,请按/,然后输入搜索词 ( ulimit)。在 bash shell 中,您可以运行help ulimit来获取帮助ulimit

我不知道为什么你的grep没有过滤ulimit掉。ulimit在手册页中是粗体,也许这与它有关。某些转义序列是隐藏的,但确实有效果:它改变(背景)颜色或改变外观(下划线,粗体)。

来自我的bash(版本 4.2.8):

ulimit: ulimit [-SHacdefilmnpqrstuvx] [limit]
  Modify shell resource limits.

  Provides control over the resources available to the shell and processes
  it creates, on systems that allow such control.

  Options:
    -S        use the `soft' resource limit
    -H        use the `hard' resource limit
    -a        all current limits are reported
    -b        the socket buffer size
    -c        the maximum size of core files created
    -d        the maximum size of a process's data segment
    -e        the maximum scheduling priority (`nice')
    -f        the maximum size of files written by the shell and its children
    -i        the maximum number of pending signals
    -l        the maximum size a process may lock into memory
    -m        the maximum resident set size
    -n        the maximum number of open file descriptors
    -p        the pipe buffer size
    -q        the maximum number of bytes in POSIX message queues
    -r        the maximum real-time scheduling priority
    -s        the maximum stack size
    -t        the maximum amount of cpu time in seconds
    -u        the maximum number of user processes
    -v        the size of virtual memory
    -x        the maximum number of file locks

  If LIMIT is given, it is the new value of the specified resource; the
  special LIMIT values `soft', `hard', and `unlimited' stand for the
  current soft limit, the current hard limit, and no limit, respectively.
  Otherwise, the current value of the specified resource is printed.  If
  no option is given, then -f is assumed.

  Values are in 1024-byte increments, except for -t, which is in seconds,
  -p, which is in increments of 512 bytes, and -u, which is an unscaled
  number of processes.

  Exit Status:
  Returns success unless an invalid option is supplied or an error occurs.

相关内容