gpt4 book ai didi

linux - 'sed -i' 和 'sed ... > file' 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:12 24 4
gpt4 key购买 nike

我想知道这两行之间的区别:

sudo sed 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub >/etc/default/grub

sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub

似乎有所不同,因为第一个返回权限被拒绝错误,而另一个则没有。

最佳答案

正如@sarathi 所说,-i 标志就地修改文件。您收到权限被拒绝错误的原因是因为 /etc/default/grub 可能只能由 root 修改。

你的第一个命令:

sudo sed 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub >/etc/default/grub

以 super 用户身份运行 sed,当 sed 写入其标准输出时,它不会做任何有用的事情。然后它会尝试以当前用户身份覆盖 /etc/default/grub,这是不允许的。

在第二个命令中:

sudo sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=3/' /etc/default/grub

该文件由 sed 本身修改,它以 root 身份运行。

关于linux - 'sed -i' 和 'sed ... > file' 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com