使用 std 输入/输出重定向的 shell 命令中的顺序和空格

使用 std 输入/输出重定向的 shell 命令中的顺序和空格

抱歉,我有一段时间没有使用 shell 脚本了。在教程中《如何运行 Openthread 边界路由器》

提供的步骤:

设置双向数据流索卡特

socat -d -d pty,raw,echo=0 pty,raw,echo=0
2018/09/06 09:58:29 socat[242994] N PTY is /dev/pts/2
2018/09/06 09:58:29 socat[242994] N PTY is /dev/pts/7
2018/09/06 09:58:29 socat[242994] N starting data transfer loop with FDs [5,5] and [7,7]

记下输出中的两个串行端口。

然后是 CLI 命令:

~/openthread/output/x86_64-unknown-linux-gnu/bin/ot-ncp-ftd 1 \
> /dev/pts/2 < /dev/pts/2

输入这些命令不会给出正确的结果。从 shell 编程的角度来看,最后一个命令的含义是什么(我相信它重定向了程序的输入/输出)?最后一个命令是否正确(注意 - 它使用相同的端口 2)?在我的例子中,程序获得超过 4 个参数(我在调试器中看到),并且 shell 不将参数视为重定向,而是 shell 将所有参数传递给程序。用两行写命令重要吗?如何用一行表示?

相关内容