Linux
strace 如何知道使用 /bin/echo 而不是在內置上失敗
當我這樣做時
strace echo hello
,我看到它正在使用,但應該首先找到/bin/echo
內置的。echo
跳過內置命令是 strace 的功能嗎?strace——版本 4.5.19我知道 strace 不能像在系統執行檔上那樣工作在內置命令上。
因為 strace 不是 shell,所以 strace 使用 exec。
當您向 shell 鍵入命令(例如,
echo hello world
)時,shell 會解釋該命令,並在查找單獨的執行檔之前檢查是否可以使用 shell 內置命令。當您使用 時
strace
,您是在要求它查找執行檔並代表您執行它。與 shell 不同,strace
它沒有自己的內置命令。