bashdb:我可以检查流经管道的数据吗?

发布于 2024-09-04 11:27:24 字数 351 浏览 6 评论 0原文

我正在尝试调试涉及以下形式的命令的 bash 脚本:

VAR=$(cmd1|cmd2|cmd3)

我可以使用 s 命令在 bashdb 中调试它,该命令执行如下操作:

bashdb(2): s
2:      VAR=$(cmd1|cmd2|cmd3)
cmd1
bashdb(3): s
2:      VAR=$(cmd1|cmd2|cmd3)
cmd2

即它允许我运行命令一根一根地在管子里。逻辑表明它必须将管道的内容存储在某处,以便当我再次键入 s 时它可以将其输入到下一个命令中。如何让 bashdb 显示这些数据?

I'm trying to debug a bash script that involves a command of the form:

VAR=$(cmd1|cmd2|cmd3)

I can debug it in bashdb, using the s command, which does something like this:

bashdb(2): s
2:      VAR=$(cmd1|cmd2|cmd3)
cmd1
bashdb(3): s
2:      VAR=$(cmd1|cmd2|cmd3)
cmd2

i.e. it allows me to run the commands in the pipe one by one. Logic indicates that it must therefore store the contents of the pipe somewhere, so that it can feed it into the next command when I type s again. How do I get bashdb to show this data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

宫墨修音 2024-09-11 11:27:24

尝试 tee

VAR=$(cmd1|tee cmd1.out|cmd2|tee cmd2.out|cmd3|tee cmd3.out)

Try tee.

VAR=$(cmd1|tee cmd1.out|cmd2|tee cmd2.out|cmd3|tee cmd3.out)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文