Shell

shell 腳本 $$ 值

  • August 5, 2015

當我使用這些 shell 命令時:

[root@linux /tmp]# a=$$
[root@linux /tmp]# echo $a
3985

值 3985 來自哪裡?為什麼?

man bash

解釋它。

Expands to the process ID of the shell.  In a () subshell, 
it expands to the  process ID of the current shell, not the subshell.

$$ 是目前程序的pid

嘗試

主機@控制器:~$ echo $$
12481
主機@控制器:~$ ps -p 12481
PID TTY 時間命令
12481 分 / 2 00:00:01 重擊
主機@控制器:~$

由於我們echo $$在 bash 中執行,我們得到它的目前 pid

也知道

迴聲$?是最後執行的命令的返回碼。

$# 是參數的數量

$* 是傳遞給目前程序的參數列表

$

$$ 1 or 2 or … n $$每個對應參數的值

引用自:https://serverfault.com/questions/233258