¿Qué significa% 1 en "kill% 1"?


12

Sé que $!almacena el pid del último proceso (de fondo), pero ¿qué %1significa? A menudo lo veo junto con killy tiene el mismo efecto que kill $!. Alguien me puede dar una pista? (Estos pequeños términos son muy difíciles de google: - /)


Realmente no ... google.com/search?q=percent+1+bash (ver tercer resultado)
Hola71

Respuestas:


10

El %designador se refiere a los trabajos en la lista de trabajos del shell actual y devuelve el PID. Tratar help jobs.


1
Lo que me confundió fue que man killle da a la página de manual un ejecutable externo de kill que no dice nada al respecto %. Pero bash también tiene una función incorporada killque, como función incorporada, tiene precedencia sobre la externa kill, y help killnos dice que podemos usar Jobspecs con la función incorporada kill, y que poder usar Jobspecs es una de las razones por las que es un incorporado.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

8

Lo que quieres para Google es man bash

Hay varias formas de referirse a un trabajo en el shell. El personaje% introduce un nombre de trabajo. El número de trabajo n puede denominarse% n. También se puede hacer referencia a un trabajo utilizando un prefijo del nombre utilizado para iniciarlo o una subcadena que aparece en su línea de comando. Por ejemplo,% ce se refiere a un trabajo ce detenido. Si un prefijo coincide con más de un trabajo, bash informa un error. Usar%? Ce, por otro lado, se refiere a cualquier trabajo que contenga la cadena ce en su línea de comando. Si la subcadena coincide con más de un trabajo, bash informa un error. Los símbolos %% y% + se refieren a la noción de shell del trabajo actual, que es el último trabajo detenido mientras estaba en primer plano o comenzó en segundo plano. Se puede hacer referencia al trabajo anterior utilizando% -. Cuando solo existe el trabajo actual,% - se refiere a la noción de shell del trabajo actual. En la salida correspondiente a trabajos (p. Ej., La salida del comando de trabajos), el trabajo actual siempre se marca con un +, y el trabajo anterior con un -. Un solo% (sin especificación de trabajo acompañante) también se refiere al trabajo actual.

Simplemente nombrar un trabajo puede usarse para ponerlo en primer plano:% 1 es un sinónimo de '' fg% 1 '', que lleva el trabajo 1 del fondo al primer plano. Del mismo modo, ''% 1 & '' reanuda el trabajo 1 en segundo plano, equivalente a '' bg% 1 ''.

TL; DR: %1 es el trabajo número 1.


55
Pensé que la calidad era el trabajo número 1 ...
Ignacio Vazquez-Abrams

1
@Ignacio Vazquez-Abrams: Sí, eso y las exigencias de la naturaleza.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.