Я на самом деле играю с аргументами, и это произошло. Я просто подумал, что посмотреть, что произойдет, если я наберу $$1, и я сделал это, и получил что-то внизу.
raja@raja-BONEFISH:~$ $$1
19301: command not found
Что это значит? Он что-то говорит?
[d2 ] Bottom-Line: что имеет значение для $$1 в bash.См. Вывод echo $$1.
И вы получите ошибку command not found, потому что вы пытаетесь выполнить строку, состоящую из цифр, которые, очевидно, являются не команда.
Вы объединили $$ и 1 вместе, чтобы получить PID текущей оболочки и 1, т. е. $$ означает PID текущей рабочей оболочки, а 1 - только символ, вы мог бы сделать $$a, $$@, чтобы связать PID со следующим символом.
$$ он будет указывать 1930, который является pid текущей оболочки.
Когда вы вводите $$1, что означает pid, за которым следует один, поэтому вы должны быть 19301. [!d2 ]
Попробуйте $$2, выход будет 19302