bash 中 $$1 是什么意思?

bash 中 $$1 是什么意思?

我实际上是在玩参数,然后就发生了这种情况。我只是想看看如果我输入$$1并执行并得到以下结果,会发生什么。

raja@raja-BONEFISH:~$ $$1
19301: command not found

19301 是什么意思?它说明了什么?

底线:$$1bash 中的 for 是什么意思。

答案1

$$是当前进程的 PID (进程 id)。

$$1是上面的 PID 后跟文字字符串1

所以它告诉你,你的bash进程的 PID 是 1930。

但是...免费技巧:

show() { eval echo \$$1; }
show PATH
/home/romano/bin:/usr/local/bin:/bin:/usr/bin

(相当复杂,不是吗?)

更多信息局部差分协议

答案2

  • $$- 当前 shell 的 pid(不是子 shell) - 参见特殊的美元符号 shell 变量有哪些?

  • $$1- 当前 shell(不是子 shell)的 pid,后跟1

  • $$2- 当前 shell(不是子 shell)的 pid,后跟2

  • $$a- 当前 shell (不是子 shell) 的 pid 后跟a字符。

  • 等等...

查看 的输出echo $$1

您收到错误是command not found因为您尝试执行由数字组成的字符串,这显然不是命令。

答案3

您已将$$和连接1在一起以获取当前shell的PID,并且1,即$$代表当前正在运行的shell的PID并且1只是一个字符,您可以执行$$a$$@以获取与以下字符连接在一起的PID。

答案4

$$ 它将说明1930哪个是进程号当前 shell 的。

当您输入时,$$1这意味着 pid 后跟 1,因此输出将是19301

尝试$$2输出将是19302

相关内容