Яка функція команди "fg% N"?


1

Я дізнався, що fg %Nозначає "йти до завдання N"

Я не розумію цю команду чи як її використовувати. Я спробував побачити ручне введення цієї команди в терміналі, але це не вийшло:

$ man fg
No manual entry for fg.

1>2&перенаправляє stdout до імені файла 2та ставить команду на задній план; ви, мабуть, (або, принаймні, повинні були) дізналися2>&1
steeldriver

Я не зрозумів, будь ласка, поясніть це чітко
coding_ninza

У моєму першому запитанні, що є 1> 2 & - я не зрозумів значення цього рядка "Перенаправити stdout на stderr"
coding_ninza

Оскільки хтось відповів на ваше запитання, я видалив одне із запитань. Якщо вам все-таки потрібна допомога в питанні, яке я зняв, будь ласка, задайте окреме запитання
Zanna

Якщо у вас немає сторінки для маніпулювання, зазвичай її можна знайти, гуглюючи man $command, наприклад, man fgвиходить ця сторінка fg .
pbhj

Відповіді:


8
  1. 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.
    
  2. Як було сказано в першій версії питання, 1>&2це приклад перенаправлення . Щоб прочитати про переадресацію , запустіть man bashі перейдіть до розділу під назвою REDIRECTION.


Оскільки ви відповіли, я збираюся зняти частину про переадресацію з питання і відкликати своє закрите голосування (я це зробив, тому ви можете видалити свою частину 2. якщо ви не згодні з моєю дією D:)
Занна

9

Другий перший: fgце вбудована команда bash shell, і як таку вам потрібно звернутися до man сторінки 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.

Тепер до першої частини. Фактична команда, яку ви заявили, насправді не перенаправляє 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.