我用来strace
跟踪进程的行为bash
。目的是找出bash
加载其配置文件的顺序。
我正在运行以下命令zsh
:
strace -e openat bash
运行此命令后,我最终进入一个新的bash
shell,但我不希望这种情况发生。有没有办法bash
在不实际启动新的bash
交互式 shell 的情况下跟踪命令?
我在网上搜索但找不到任何东西。我正在尝试使用exec
: strace -e openat "$(exec bash)" 2>&1
,但我的 shell 仍然更改为bash
from zsh
。
答案1
您可以要求bash
立即退出,并强制其表现得像交互式和/或登录 shell:
strace -e openat bash -i -c exit
添加-l
以使其bash
像交互式登录 shell 一样工作。
请注意,这还将显示退出时读取的文件(.bash_logout
等)。