标签: tee

为什么这款 T 恤会丢失标准输出?

简单的脚本:

#!/bin/bash
remote_ssh_account="depesz@localhost"
directory_to_tar=pgdata
exec nice tar cf - "$directory_to_tar" | \
    tee >(
        md5sum - | \
        ssh "$remote_ssh_account" 'cat - > /tmp/h3po4-MD5-2012-03-13.tar'
    ) | \
    ssh "$remote_ssh_account" 'cat - > /tmp/h3po4-data-2012-03-13.tar'
Run Code Online (Sandbox Code Playgroud)

理论上它应该将数据和校验和传送到远程机器。

但不知何故,T恤失败了:

tee: standard output: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

做了strace,但没有任何结果。我看到两个 ssh 都启动了,并且 tee 向它们写入,但只有 ( md5sum | ssh ) 的管道获取数据 - ssh“数据”的 strace 没有获取任何数据,5 秒后 tee 显示错误。

除此之外所有的工作。建立了 2 个连接,tar 工作,md5sum 及其交付工作。

linux ssh bash pipe tee

6
推荐指数
2
解决办法
6188
查看次数

screen 导致“tail -F | grep”回显不匹配的行

这是 Ubuntu (3.13.0-29-generic #53),尝试做一个简单的 bash 脚本来监控匹配行的日志文件。

如果我执行以下操作,则 bash shell 中除了匹配项之外没有任何输出,这是预期的:

tail -F server.log | grep --line-buffered "word" | tee -a wordwatch.log

但是如果我尝试在屏幕上做同样的事情,会话就会收到来自监视日志文件的不匹配数据的垃圾邮件。显然,它显示了监视日志文件中的所有内容。此垃圾邮件不会出现在输出日志文件中。

screen -S "wordwatch" tail -F server.log | grep --line-buffered "word" | tee -a wordwatch.log

我做错了什么,如何阻止监视的日志向屏幕会话发送垃圾邮件?

grep tail gnu-screen tee

6
推荐指数
1
解决办法
751
查看次数

tee 并分配给变量?

我需要在屏幕上看到输出,同时 grep 输出并将 grep 结果发送到变量。我认为它可以用 T 恤完成,但我不知道具体如何。我试过

mycommand | tee myvar=$(grep -c keyword)
mycommand | tee  >(myvar=$(grep -c keyword))
Run Code Online (Sandbox Code Playgroud)

但这不起作用。应该如何,最好不要写入文件?

linux bash pipe tee

2
推荐指数
2
解决办法
4041
查看次数

记录器和三通在后台运行?

有时我注意到服务器运行缓慢,在那些时候 aps -e显示loggertee正在运行,但我想不出为什么。这是一个已知的问题?为什么这些需要在不被调用的情况下运行?发生这种情况时,运行的系统很少,但可能与运行 Chromium 有某种联系,但我不确定。

background-process tee

0
推荐指数
1
解决办法
42
查看次数

标签 统计

tee ×4

bash ×2

linux ×2

pipe ×2

background-process ×1

gnu-screen ×1

grep ×1

ssh ×1

tail ×1