$$
- это специальная переменная bash, которая раскрывается в pid оболочки.
/proc/self
- это символическая ссылка real на подкаталог /proc/
процесса.это делает вызов.
Когда вы делаете ls /proc/$$
, оболочка расширяет его до ls /proc/pid-of-bash
, и это то, что вы видите, содержимое процесса оболочки.
Но когда вы делаетеls /proc/self
вы видите содержимое недолговечного ls
процесса.
$$
не ограничивается этим использованием, вы можете написать echo $$
, чтобы увидеть pid bash;Вы можете использовать его, чтобы убить себя и т. д.