手动说明发球台是"管道配件" - 工具.案件[1]让我困惑:
案件
echo "foo bar" | sudo tee -a /path/to/some/file
Run Code Online (Sandbox Code Playgroud)
2.案件
:w !sudo tee %
Run Code Online (Sandbox Code Playgroud)
从案例中很难理解发球台的逻辑.发球怎么样?
Ric*_*and 36
tee用于拆分命令管道,允许您将命令的输出保存到文件并沿管道发送.在第一个例子中你给了::
echo "foo bar" | sudo tee -a /path/to/some/file
Run Code Online (Sandbox Code Playgroud)
"富栏"将被回波到标准输出和附加到/path/to/some/file.可以将管道中的"T"形接头视为T形接头,将输出分成另外两个管道.
Dav*_*itt 12
tee复制stdin到stdout(像cat)并另外将所有内容写入指定的文件.通过这种方式使用它sudo可以将信息推送到特权模式,同时监控正确的东西是否存在.
还要注意,由于在shell中处理重定向的方式几乎相当
sudo echo "foo bar" > /path/to/some/file
Run Code Online (Sandbox Code Playgroud)
将无法工作,因为重定向将由调用用户完成,而不是由sudo目标用户完成.
Gir*_*ore 12
tee通常用于分割程序的输出,以便它可以显示并保存在文件中.该命令可用于在数据被另一个命令或程序更改之前捕获中间输出.tee命令读取标准输入,然后将其内容写入标准输出.它同时将结果复制到指定的文件或变量中
tee [OPTION]... [FILE]...
Run Code Online (Sandbox Code Playgroud)
例如
tee [ -a ] [ -i ]... [ File ]...
Run Code Online (Sandbox Code Playgroud)
-a 将输出追加到File的末尾而不是写入.
-i 忽略中断.
使用sudo问题中的示例并将其附加到文件中
ls -l | sudo tee -a file.txt
Run Code Online (Sandbox Code Playgroud)