Я знаю, что встроенная команда ulimit указана на странице руководства bash .

Грэппинг за это ничего не возвращает, хотя. Зачем?

grep и man отлично работают, man bash | grep strings возвращает несколько совпадающих строк.

Я подозреваю, что это связано с жирным шрифтом или аналогичным, но я не могу найти ответ. Переменная среды LANG=en_US.UTF-8 .

(Я пытаюсь сделать это на последней Mac OS X Snow Leopard с Terminal.app, если это важно. Моя интерактивная оболочка это zsh.)

РЕДАКТИРОВАТЬ: GNU grep 2.5.1, человек 1.6c.

2 ответа2

2

У меня нет твоего окружения, поэтому я не могу проверить. В качестве обходного пути вы можете направить вывод в файл и выполнить вместо него grep

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

У меня нет Mac, но в Ubuntu страница справки показывается с помощью программы less .

Для поиска на странице руководства нажмите / а затем поисковый запрос (ulimit). В оболочке bash вы можете запустить help ulimit чтобы получить помощь по ulimit .

Я не знаю, почему ваш grep не фильтрует ulimit . ulimit на странице руководства смелый, возможно, это как-то связано с этим. Определенные escape-последовательности скрыты, но имеют эффект: он меняет (фон) цвет или меняет внешний вид (подчеркнут, выделен жирным шрифтом).

Из моего 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .