FreeBSD 11.2: Как добавить плагин AESNI в Strongswan?

Вы правы, что он удивительно плохо документирован. Та документация, которая есть, довольно проста:

-t      Exit after reading and executing one command.

Исходный код bash доступен здесь. Я посмотрел версию 4.2. Короткие флаги, обрабатываемые bash, перечислены в flags.c, и там есть соответствующая строка:

{ 't', &just_one_command },

Итак, -t в командной строке устанавливает переменную just_one_command. Эта переменная используется только в одном месте: она встречается в if условии в конце цикла в eval.c:

  if (just_one_command)
    EOF_Reached = EOF;

Другими словами, если установлен флаг -t, то после выполнения первой команды будет сигнализировано условие конца файла и bash завершит работу.

БОЛЬШЕ Деталей

Из eval.c следует, что выполнение командной строки в bash управляется функцией reader_loop:

reader_loop ()
{
  int our_indirection_level;
  COMMAND * volatile current_command;
  USE_VAR(current_command);
  current_command = (COMMAND *)NULL;
  our_indirection_level = ++indirection_level;
  while (EOF_Reached == 0)
    {
      int code;
      code = setjmp_nosigs (top_level);

      [ ... Much code removed ... ]

      if (just_one_command)
        EOF_Reached = EOF;
    }
  indirection_level--;
  return (last_command_exit_value);
}

Цикл внутри reader_loop продолжается, пока не получит сигнал EOF_Reached. Единственный эффект опции -t заключается в установке этого флага в конце цикла, что гарантирует, что цикл будет выполнен только один раз.

0
12.01.2019, 10:07
1 ответ

Предполагая, что вы используете монтирование NFS с сервера NFSv4, который поддерживает ACL, вам потребуется использовать команду nfs4 _setfacl для установки ACL. Синтаксис не совсем тот.

0
28.01.2020, 04:03

Теги

Похожие вопросы