我正在尝试打开GDB会话并自动执行一些GDB命令以准备调试会话。因此,我编写了一个脚本,并在脚本中使用了“ here字符串”,如下所示:
arm-none-eabi-gdb <<< $'\ndashboard -layout source\n dashboard source -style context 14\nfile program.elf\ntarget remote :2331\nmonitor reset'
GDB命令用换行符\n
分隔并正常执行,但是在最后一个GDB命令monitor reset
之后,我得到了一个quit
命令,但我没有提供给GDB:
如何防止此命令将我带出GDB?我想在最后一条命令后将控制权交还给用户。
答案 0 :(得分:1)
quit
命令归因于标准输入的结束。这里的字符串就像一个重定向为标准输入的文件。看来您想使用标准输入来显示此字符串。最简单的方法可能是使用文件
cat file - | arm-none-eabi-gdb
其中file
包含命令,而-
是cat使用标准输入的特殊参数。
否则使用字符串,其中'...'
是字符串
{ echo '...'; cat; } | arm-none-eabi-gdb