Если включено «вторичное расширение», требуется $$$$
для генерации единственного $
в фактическом выводе. $
обычно используется для раскрытия переменных, вызова функций make и т. Д. $$
с включенным вторичным расширением делает что-то еще, но в противном случае генерирует фактическое $
в вывод.
Оболочка, которую make использует для выполнения командных строк в Unix-подобных системах, обычно интерпретирует $$
как расширение до идентификатора процесса оболочки. Таким образом, без включения вторичного расширения, $$$$
превратится в $$
в выводе, который оболочка расширит до идентификатора процесса.
(Используя процесс оболочки ID как суффикс - это простой способ гарантировать уникальность имени временного файла.
18449, 18444 или 18439 выглядят как идентификаторы процесса, так что может быть идентификатор процесса?