У сценарії Bash, що означає "$! ?


Відповіді:


57

$!містить ідентифікатор процесу останнього виконаного фонового конвеєра. Від man bash:

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

Оболонка спеціально обробляє кілька параметрів. На ці параметри можна посилатися лише; присвоєння їм не допускається.

...

! - Розширюється на ідентифікатор процесу останньо виконаної фонової (асинхронної) команди.

Наприклад:

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

У мене
виникає

22

З сторінки чоловіка Баша:

   !   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.