Shell 是否有一个等效于T型钢的不’;输出到标准输出?
当前正在使用以下内容,并希望删除Shell 是否有一个等效于T型钢的不’;输出到标准输出?,shell,Shell,当前正在使用以下内容,并希望删除/dev/null部分 cat << "EOF" | sudo tee /etc/pf.conf > /dev/null EOF cat/dev/null EOF 作为参考,下面抛出一个错误 zsh:权限被拒绝:/etc/pf.anchors/local.test sudo cat/etc/pf.anchors/local.test 回声“你好,世界” EOF 您可以启动具有根权限的新shell,并在其中重定向: sudo sh -c 'ca
/dev/null
部分
cat << "EOF" | sudo tee /etc/pf.conf > /dev/null
EOF
cat/dev/null
EOF
作为参考,下面抛出一个错误
zsh:权限被拒绝:/etc/pf.anchors/local.test
sudo cat/etc/pf.anchors/local.test
回声“你好,世界”
EOF
您可以启动具有根权限的新shell,并在其中重定向:
sudo sh -c 'cat > "$1"' -- /etc/pf.conf
或更短:
sudo sh -c 'cat > "$0"' /etc/pf.conf
sudo sh -c 'cat>"$0"' /etc/pf.conf
将awk
与重定向一起使用:
sudo awk -vf=/etc/pf.conf '{print > f}'
在这里使用
tee
有什么意义?@anubhava写入此文件需要root权限,因此>/etc/pf.conf
不起作用。@anubhava这是我第一次尝试的。它抛出了一个权限错误。参见@anubhava请参见更新的问题。谢谢您的帮助。@anubhava,sudo cat
在这里没有任何优势,因为在启动sudo
或cat
之前,shell会打开/etc/pf.conf
,所以它不会从任何权限升级中受益。谢谢您提供答案。你能在你的例子中加入heredoc吗?我不明白…你什么意思?你的意思是,当你只做sudo cat>文件时,为什么它会失败而权限被拒绝?我正在尝试编写一行程序,输出一个精心设计的(问题中简化的)文件的内容使用sudo.Justsudo-tee/etc/pf.conf>/dev/null我想大家的共识是坚持使用tee>/dev/null
。