Co oznacza% 1 w „zabić% 1”?

12

Wiem, że $!przechowuje pid ostatniego procesu (w tle), ale co to %1znaczy? Często widzę to razem killi ma taki sam efekt jak kill $!. Czy ktoś może mi podpowiedzieć? (Tak małych terminów tak trudno jest wyszukiwać w Google: - /)

Zardoz
źródło
Nie bardzo ... google.com/search?q=percent+1+bash (patrz trzeci wynik)
Hello71

Odpowiedzi:

10

%Oznaczenie odnosi się do pracy w liście zadań bieżącej powłoki, a zwraca PID. Spróbować help jobs.

Ignacio Vazquez-Abrams
źródło
1
To, co mnie dezorientowało, to fakt, man killże strona man dla zewnętrznego pliku wykonywalnego kill, który nic nie mówi %. Ale bash ma również wbudowaną killfunkcję, która jako wbudowana ma pierwszeństwo przed zewnętrzną kill, i help killmówi nam, że możemy używać specyfikacji zadań z wbudowaną kill, a możliwość korzystania z tych specyfikacji jest jednym z powodów, dla których jest to wbudowany
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
8

To, czego chcesz od Google man bash

Istnieje wiele sposobów odwoływania się do zadania w powłoce. Znak% wprowadza nazwę pracy. Numer zadania n może być określany jako% n. Zadanie może być również przywołane przy użyciu prefiksu nazwy użytej do jego uruchomienia lub przy użyciu podłańcucha, który pojawia się w jego wierszu poleceń. Na przykład% ce odnosi się do zatrzymanej pracy ce. Jeśli prefiks pasuje do więcej niż jednego zadania, bash zgłasza błąd. Z drugiej strony użycie%? Ce odnosi się do każdego zadania zawierającego ciąg ce w wierszu poleceń. Jeśli podłańcuch pasuje do więcej niż jednego zadania, bash zgłasza błąd. Symbole %% i% + odnoszą się do pojęcia powłoki bieżącego zadania, które jest ostatnim zadaniem zatrzymanym, gdy było na pierwszym planie lub rozpoczęło się w tle. Do poprzedniego zadania można się odwołać za pomocą% -. Gdy jest tylko bieżąca praca,% - odnosi się do pojęcia powłoki bieżącego zadania. W danych wyjściowych dotyczących zadań (np. Danych wyjściowych polecenia zadań) bieżące zadanie jest zawsze oznaczone znakiem +, a poprzednie zadanie znakiem -. Pojedynczy% (bez towarzyszącej specyfikacji zadania) odnosi się również do bieżącego zadania.

Wystarczy nazwać zadanie, aby przenieść je na pierwszy plan:% 1 jest synonimem „fg% 1”, przenosząc zadanie 1 z tła na pierwszy plan. Podobnie „% 1” wznawia zadanie 1 w tle, co odpowiada „bg% 1”.

TL; DR: %1 jest numerem zadania 1.

Orbling
źródło
5
Myślałem, że jakość to praca numer 1 ...
Ignacio Vazquez-Abrams
1
@Ignacio Vazquez-Abrams: Tak, to i wymagania natury.