当我们调用任何shell命令时,任何人都可以帮助我在内部理解代码/步骤流。例如,假设我在bourne shell上运行了以下内容:
ls -l | grep -r "string"
内部发生的函数调用是什么?
据我所知,它将在内部调用一些execv
族函数。但是,任何人都可以告诉我它将进行的其他函数调用是什么以及它的序列是什么?
答案 0 :(得分:11)
您可以自己了解使用strace实用程序会发生什么。运行它:
strace sh -c 'ls -l | grep -r "string"'
这将运行一个shell,而shell将依次运行您的命令,最后strace将打印出系统调用后幕后发生的事情。
答案 1 :(得分:3)
简而言之:
也许其他人会添加更精确的“步骤”......