我想将shell SSH脚本的输出捕获到文件中并将其同时放在stdout上。我知道我可以使用tee
,但在这种情况下似乎没有像我期望的那样工作。
实施例,
#!/bin/sh
ssh user@host | tee /tmp/a << EOF
echo hi
EOF
我希望hi
位于/tmp/a
,而ssh
似乎永远等待输入。
如果我将ssh
替换为cat
,则可以按预期工作
#!/bin/sh
cat | tee /tmp/a << EOF
hi
EOF
Output: hi
$ cat /tmp/a
hi
ssh
和cat
之间有什么区别?
答案 0 :(得分:2)
您可以使用:
ssh user@host << EOF | tee /tmp/a
echo hi
EOF