Solaris 模块调试器指南

Shell 转义

可以使用 ! 字符创建 MDB 命令和用户的 shell 之间的管道。Shell 转义仅在使用 mdb(而不是 kmdb)时可用。如果设置了 $SHELL 环境变量,则 MDB 将为 shell 转义对此程序执行 forkexec;否则使用 /bin/sh。shell 是使用后跟字符串的 -c 选项调用的,该字符串通过串联 ! 字符后的字而构成。

! 字符优先于所有其他元字符,但分号 (;) 和 NEWLINE 除外。检测到 shell 转义后,下一个分号或 NEWLINE 之前的其余字符将“按原样”传递到 shell。shell 命令的输出不能传输到 MDB dcmd。shell 转义执行的命令将其输出直接发送到终端而不是 MDB。