我想做一个简单的重定向。当我做
sudo curl <insert link here> > a.txt
我想把curl输出的所有数据都放到a.txt中。但是,我不断收到错误消息
a.txt: Permission denied
有人知道如何解决这个问题吗?我试过在网上看
sudo bash -c curl <insert link here> > a.txt
并显示相同的错误。任何帮助,将不胜感激!谢谢!
我想做一个简单的重定向。当我做
sudo curl <insert link here> > a.txt
我想把curl输出的所有数据都放到a.txt中。但是,我不断收到错误消息
a.txt: Permission denied
有人知道如何解决这个问题吗?我试过在网上看
sudo bash -c curl <insert link here> > a.txt
并显示相同的错误。任何帮助,将不胜感激!谢谢!
特权提升仅适用于curl
进程(在第二个示例中为子 shell)本身,不适用于您的(父)shell,因此不适用于重定向。
一种解决方案是在子 shell 本身内进行重定向:
sudo bash -c "curl $LINK >a.txt"
另一个相当惯用的选择是使用tee
:
curl $LINK | sudo tee a.txt >/dev/null
具体来说curl
,您还可以让进程本身直接写入文件:
sudo curl -o a.txt $LINK
我遇到了同样的问题,这是因为 a.txt 的文件夹对你来说是不可写的。要么chmod/chown
将其放入可写文件夹,要么将其放入可写文件夹中即可解决问题。
希望这可以帮助!