В скриптах Bash, что означает «$! «?


Ответы:


57

$!содержит идентификатор процесса последнего выполненного фонового конвейера. От man bash:

Специальные параметры

Оболочка обрабатывает несколько параметров специально. На эти параметры можно ссылаться только; присвоение им не допускается.

...

! - Расширяет до идентификатора процесса последней выполненной фоновой (асинхронной) команды.

Например:

$ sleep 60 &
[1] 6238
$ echo "$!"
6238

У меня такое ощущение, что вы и slm говорите об одном и том же :)
msw,

22

Со страницы руководства Bash:

   !   Expands to the process ID of the most recently executed 
       background (asynchronous) command.

Так $!будет содержать идентификатор процесса (PID) последнего задания, которое было задокументировано.

пример

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

Ссылки


1
У меня такое ощущение, что вы с Крисом Дауном говорите об одном и том же :)
CVn

2
Казалось бы, есть ответ на этот вопрос 8-).
SLM

Те же голоса тоже важны!
CVn

@ MichaelKjörling - эй, великие умы одинаково думают 8-).
Slm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.