Каждый процесс в UNIX-подобной операционной системе имеет (временно) уникальный идентификатор, PID. Никакие два процесса, выполняющиеся одновременно, не могут иметь одинаковый PID, а $$ ссылается на PID экземпляра bash, выполняющего сценарий.
Это очень , а не уникальный идентификатор в том смысле, что он никогда не будет использоваться повторно (действительно, PID повторно используются постоянно). Он дает вам такое число, что, если ваш скрипт выполнит другой человек, он получит другой идентификатор, пока ваш работает. Как только ваш умрет, PID может быть переработан, и кто-то другой может запустить ваш скрипт, получить тот же PID и получить то же имя файла.
Таким образом, очень разумно сказать, что «$$ дает имя файла, такое, что если кто-то еще выполнит тот же скрипт, в то время как мой экземпляр все еще работает, он получит другое имя».