可以使用管道和命令替换来连续组合两个同时运行的shell命令的输出行。以下是使用管道和命令替换的示例代码:
#!/bin/bash
# command 1
command1_output=$(command1)
# command 2
command2_output=$(command2)
# combine the output of both commands
echo "${command1_output}" | while read line; do
echo "Command 1 output: ${line}"
done &
echo "${command2_output}" | while read line; do
echo "Command 2 output: ${line}"
done &
在这个示例中,我们首先运行了两个命令(command1和command 2),并将它们的输出存储到变量(command1_output和command2_output)中。然后,我们使用管道将每个命令的输出发送到一个while循环中。在while循环中,我们将每一行输出附加到一个命令标识符中(Command 1 output或Command 2 output),以便我们可以区分哪个命令输出了哪些行。
请注意,在while循环中使用了&符号来将其放入后台。这是因为我们需要同时运行两个while循环来处理两个命令的输出。如果我们没有使用&符号,那么整个脚本将会阻塞,直到第一个命令的while循环完成为止。
除了在管道中使用while循环外,您还可以使用其他工具(如awk或sed)来组合来自两个命令的输出。无论您选择什么方法,都有很多选择可以帮助您在不使用文件的情况下组合shell命令的输出。
上一篇:不使用文件预览打印PDF文件
下一篇:不使用纹理平移进行绘制