Що означає "$$" в оболонці?


Відповіді:


14

$$Змінна в ударі і інших оболонок містить ідентифікатор процесу оболонки.

Дивіться це запитання щодо переповнення стека, і це також має більш детальну інформацію про те, що це точніше, та команди, схожі на нього.


+1. Задокументовано у посібнику
glenn jackman

1

Як вказується інший (прийнятий) відповідь, параметр $ являє поточний ідентифікатор процесу (PID) поточної оболонки.

Повтор цього параму повинен працювати в більшості снарядів (не тільки Bash):

Bash:

$ echo $0
bash
$ echo $$
6780

Борн:

$ echo $0
sh
$ echo $$
6988

C-оболонка:

% echo $shell
/bin/csh
% echo $$
7613

Важливо також зазначити, що команди з оболонки будуть виконуватись під ідентифікатором батьківського процесу оболонки (PPID).

$ echo $$
6780
$ ps -ef | grep 6780
aploetz   6780  6770  0 11:15 pts/2    00:00:00 bash
aploetz   8572  6780  0 11:34 pts/2    00:00:00 ps -ef
aploetz   8573  6780  0 11:34 pts/2    00:00:00 grep --color=auto 6780
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.