使用“>>”管道进入 /etc/locale.gen - sudo 拒绝权限

使用“>>”管道进入 /etc/locale.gen - sudo 拒绝权限

我正在尝试运行命令:

$ sudo echo ko_KR.UTF-8 UTF-8 >> /etc/locale.gen

但我明白了permission denied。奇怪的是,它甚至不使用 sudo 询问我的密码。

但是,如果我输入

$ su
# echo ko_KR.UTF-8 UTF-8 >> /etc/locale.gen

有用。

我已经在两个 Manjaro 安装上尝试过这个 - 同样的问题。虽然该su方法有效,但我正在尝试编写一个指南,因此我想保持简单。

有谁知道我做错了什么?看起来我正在执行一些意想不到的 bash 语法。

谢谢!

答案1

弄清楚了 -

外壳负责管道,而不是过程。sudo echo不赋予 bash 编辑权限/etc。这是我找到的解决方法:

echo ko_KR.UTF-8 UTF-8 | sudo tee -a /etc/locale.gen

现在我将输出输入echo到具有 sudo 权限(tee)的东西中,它只是写入文件。

如果有人找到更简单的方法来做到这一点,我会将其标记为正确答案:)

相关内容