Что означает `+option` в команде bash?

Я никогда раньше не видел какой-то особый формат bash.
специальная команда bash:foo -a -c +b

 foo -a -c +b

foo это команда bash,a а также c являются fooВарианты.
Для приведенной выше команды, что делает +b значит здесь?

Чтобы отключить параметр в скрипте.

foo команда имеет b вариант, или, скажем, есть b поведение в foo команда,

foo -a -c +b это призвать ac поведение и отключить b поведение.

Почему бы просто не бегать с:

foo -a -c

1 ответ

Согласно Advanced Bash-Scripting Guide, для вариантов bash:

  • -option включает опцию, которая по умолчанию отключена
  • +option отключает опцию, которая по умолчанию включена

Поэтому было бы разумно, чтобы другие программы использовали тот же метод включения и отключения параметров.

Пример bash:

  #!/bin/bash

  set -o verbose
  # Command echoing on.
  command
  ...
  command

  set +o verbose
  # Command echoing off.
  command
  # Not echoed.


  set -v
  # Command echoing on.
  command
  ...
  command

  set +v
  # Command echoing off.
  command

  exit 0
Другие вопросы по тегам