Що означає% 1 у "убивстві% 1"?


12

Я знаю, що $!зберігається під останнього (фонового) процесу, але що це %1означає? Я часто бачу це разом із ним, killі це має такий же ефект, як і kill $!. Може хтось підкаже мені? (Такі невеликі терміни так важко гугл: - /)


Не дуже ... google.com/search?q=percent+1+bash (див. Третій результат)
Hello71,

Відповіді:


10

%Позначення відноситься до завдань в списку завдань поточної оболонки, і повертає PID. Спробуйте help jobs.


1
Мене бентежить те, що man killдає людині сторінку для зовнішнього виконуваного вбивства, про яке нічого не сказано %. Але в bash також є вбудований модуль, killякий як вбудований має перевагу над зовнішнім kill, і help killговорить нам, що ми можемо використовувати jobspecs із вбудованим kill, і що можливість використання jobspecs є однією з причин того, що це вбудований.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

8

Що ви хочете в Google man bash

Існує ряд способів посилання на роботу в оболонці. Символ% вводить назву завдання. Номер роботи n може називатися% n. Завдання може також посилатися на використання префіксу імені, яке використовується для його запуску, або використання підрядка, що з’являється в його командному рядку. Наприклад,% ce відноситься до зупиненої роботи. Якщо префікс збігається з декількома завданнями, bash повідомляє про помилку. Використання%? Ce, з іншого боку, посилається на будь-яку роботу, що містить рядок ce в її командному рядку. Якщо підрядка збігається з декількома завданнями, bash повідомляє про помилку. Символи %% і% + відносяться до поняття оболонки поточного завдання, яке є останнім завданням, зупиненим, коли воно було на передньому плані або розпочато в задньому плані. На попереднє завдання можна посилатися, використовуючи% -. Коли існує лише поточне завдання,% - відноситься до поняття оболонки поточного завдання. У результатах, що стосуються завдань (наприклад, вихідних записів завдань), поточне завдання завжди позначається знаком +, а попереднє завдання -. Один% (без супровідних специфікацій завдання) також відноситься до поточного завдання.

Просте іменування завдання може бути використане для виведення його на перший план:% 1 є синонімом '' fg% 1 '', виводячи завдання 1 з фону на другий план. Аналогічно, ''% 1 & '' поновлює завдання 1 у фоновому режимі, еквівалентно '' bg% 1 ''.

TL; DR: %1 це робота №1.


5
Я подумав, що якість - робота № 1 ...
Ігнасіо Васкес-Абрамс

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