Какова функция & ldquo; fg% N & rdquo; команда?

Я узнал, что fg %N означает «перейти к задаче N»

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

$ man fg No manual entry for fg.
1
задан 13 January 2018 в 17:16

6 ответов

fg является встроенной командой bash:
$ type fg
fg is a shell builtin
Чтобы получить информацию о отдельных командах bash, используйте help:
$ help fg
fg: fg [job_spec]
    Move job to the foreground.

    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the shell's notion of the
    current job is used.

    Exit Status:
    Status of command placed in foreground, or failure if an error occurs.
Как упоминалось в первой версии вопроса, 1>&2 является примером перенаправления. Чтобы прочитать о перенаправлении, запустите man bash и перейдите в раздел под названием REDIRECTION.
8
ответ дан 22 May 2018 в 15:34
  • 1
    Поскольку вы ответили, я собираюсь удалить часть о перенаправлении из вопроса и отменить мой закрытый голос (я сделал это, поэтому вы можете удалить свою часть 2. Если вы не согласны с моим действием D:) – Zanna 12 January 2018 в 17:30
fg является встроенной командой bash: $ type fg fg is a shell builtin Чтобы получить информацию о отдельных командах bash, используйте help: $ help fg fg: fg [job_spec] Move job to the foreground. Place the job identified by JOB_SPEC in the foreground, making it the current job. If JOB_SPEC is not present, the shell's notion of the current job is used. Exit Status: Status of command placed in foreground, or failure if an error occurs. Как упоминалось в первой версии вопроса, 1>&2 является примером перенаправления. Чтобы прочитать о перенаправлении, запустите man bash и перейдите в раздел под названием REDIRECTION.
8
ответ дан 17 July 2018 в 23:15
fg является встроенной командой bash: $ type fg fg is a shell builtin Чтобы получить информацию о отдельных командах bash, используйте help: $ help fg fg: fg [job_spec] Move job to the foreground. Place the job identified by JOB_SPEC in the foreground, making it the current job. If JOB_SPEC is not present, the shell's notion of the current job is used. Exit Status: Status of command placed in foreground, or failure if an error occurs. Как упоминалось в первой версии вопроса, 1>&2 является примером перенаправления. Чтобы прочитать о перенаправлении, запустите man bash и перейдите в раздел под названием REDIRECTION.
8
ответ дан 24 July 2018 в 13:46

Второй первый: fg - встроенная команда оболочки bash, и поэтому вам нужно обратиться к странице руководства для bash. В частности, в разделе JOB CONTROL говорится:

   Simply naming a job can be used to bring it into the foreground: %1  is
   a  synonym  for  ``fg %1'', bringing job 1 from the background into the
   foreground.  Similarly, ``%1 &''  resumes  job  1  in  the  background,
   equivalent to ``bg %1''.

В качестве альтернативы вы можете использовать интерактивную систему help оболочки:

$ help fg
fg: fg [job_spec]
    Move job to the foreground.

    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the shell's notion of the
    current job is used.

    Exit Status:
    Status of command placed in foreground, or failure if an error occurs.

Now для первой части. Фактическая команда, которую вы указали, на самом деле не перенаправляет stdout на stderr: она перенаправляет stdout в файл с именем 2, а затем помещает всю команду в фоновый код оболочки. Следовательно,

$ man 1>2&
[1] 4662

запускает man в фоновом режиме (как задание [1], с идентификатором процесса 4662) - если вы посмотрите в текущем каталоге, вы, скорее всего, найдете файл с именем 2 с содержанием

 What manual page do you want?

Команда, которую вы должны использовать, - 1>&2

&2: дескриптор файла # 2 2&: файл с именем 2, запуск команды фон

Для получения дополнительной информации см. раздел REDIRECTION в man bash

9
ответ дан 22 May 2018 в 15:34

Второй первый: fg - встроенная команда оболочки bash, и поэтому вам нужно обратиться к странице руководства для bash. В частности, в разделе JOB CONTROL говорится:

Simply naming a job can be used to bring it into the foreground: %1 is a synonym for ``fg %1'', bringing job 1 from the background into the foreground. Similarly, ``%1 &'' resumes job 1 in the background, equivalent to ``bg %1''.

В качестве альтернативы вы можете использовать интерактивную систему help оболочки:

$ help fg fg: fg [job_spec] Move job to the foreground. Place the job identified by JOB_SPEC in the foreground, making it the current job. If JOB_SPEC is not present, the shell's notion of the current job is used. Exit Status: Status of command placed in foreground, or failure if an error occurs.

Now для первой части. Фактическая команда, которую вы указали, на самом деле не перенаправляет stdout на stderr: она перенаправляет stdout в файл с именем 2, а затем помещает всю команду в фоновый код оболочки. Следовательно,

$ man 1>2& [1] 4662

запускает man в фоновом режиме (как задание [1], с идентификатором процесса 4662) - если вы посмотрите в текущем каталоге, вы, скорее всего, найдете файл с именем 2 с содержанием

What manual page do you want?

Команда, которую вы должны использовать, - 1>&2

&2: дескриптор файла # 2 2&: файл с именем 2, запуск команды фон

Для получения дополнительной информации см. раздел REDIRECTION в man bash

9
ответ дан 17 July 2018 в 23:15

Второй первый: fg - встроенная команда оболочки bash, и поэтому вам нужно обратиться к странице руководства для bash. В частности, в разделе JOB CONTROL говорится:

Simply naming a job can be used to bring it into the foreground: %1 is a synonym for ``fg %1'', bringing job 1 from the background into the foreground. Similarly, ``%1 &'' resumes job 1 in the background, equivalent to ``bg %1''.

В качестве альтернативы вы можете использовать интерактивную систему help оболочки:

$ help fg fg: fg [job_spec] Move job to the foreground. Place the job identified by JOB_SPEC in the foreground, making it the current job. If JOB_SPEC is not present, the shell's notion of the current job is used. Exit Status: Status of command placed in foreground, or failure if an error occurs.

Now для первой части. Фактическая команда, которую вы указали, на самом деле не перенаправляет stdout на stderr: она перенаправляет stdout в файл с именем 2, а затем помещает всю команду в фоновый код оболочки. Следовательно,

$ man 1>2& [1] 4662

запускает man в фоновом режиме (как задание [1], с идентификатором процесса 4662) - если вы посмотрите в текущем каталоге, вы, скорее всего, найдете файл с именем 2 с содержанием

What manual page do you want?

Команда, которую вы должны использовать, - 1>&2

&2: дескриптор файла # 2 2&: файл с именем 2, запуск команды фон

Для получения дополнительной информации см. раздел REDIRECTION в man bash

9
ответ дан 24 July 2018 в 13:46

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

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