你们中的许多人可能都见过这样一个命令,它允许您在需要root权限的文件上进行写入,即使您忘记使用sudo打开vim:
:w !sudo tee %
问题是我不知道这里到底发生了什么。
我已经想好了:w是这个
*:w_c* *:write_c*
:[range]w[rite] [++opt] !{cmd}
Execute {cmd} with [range] lines as standard input
(note the space in front of the '!'). {cmd} is
executed like with ":!{cmd}", any '!' is replaced with
the previous command |:!|.
因此它将所有行作为标准输入传递。
这个sudo tee部分以管理员权限调用tee。
为了让所有人都能理解,%应该输出文件名(作为tee的参数),但我在帮助中找不到关于此行为的引用。
tl;有人能帮我分析一下这个命令吗?