Command
是的 $(yes yes) 是做什麼的?
想知道這個命令有什麼用
yes
,我偶然發現了這個評論,並試圖執行yes $(yes yes)
據我了解,這應該只是列印出一個無限序列
yes
,但它什麼也不輸出,幾秒鐘後我的圖形終端崩潰了。(如果我在 tty1 上執行它,我會在一段時間後看到登錄提示。)這裡發生了什麼?
應該已經足夠執行了
echo $(yes yes)
執行內部命令,
$(...)
直到完成並擷取其所有輸出。- 現在由於yes
執行時間長並產生大量輸出,bash 最終會耗盡記憶體並崩潰。
要查看關閉 shell 的錯誤消息,您需要執行一個子 shell。
$ sh $ kill -9 $$ Killed $ $ sh $ yes $(yes yes) sh: xrealloc: cannot allocate 18446744071562067968 bytes $