Что значит & ldquo; $$ & rdquo; значит в оболочке?

Что означает вывод команды ниже? (результат является положительным целым числом)

echo $
11
задан 10 July 2014 в 18:47

2 ответа

Переменная $ в bash и других оболочках содержит идентификатор процесса оболочки.

См. этот вопрос о переполнении стека и этот также содержит более подробную информацию о том, что он является более точным, и команды, подобные ему.

0
ответ дан 10 July 2014 в 18:47

Как другой (принятый) обозначенный ответ, параметрический усилитель $ представляет идентификатор текущего процесса (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
1
ответ дан 10 July 2014 в 18:47

Другие вопросы по тегам:

Похожие вопросы: