<分区>
我在 bash 的命令提示符下尝试了以下操作:
sudo cat << EOF > /etc/yum.repos.d/some-name.repo
#Content
#....
#...
EOF
它提示:
-bash: /etc/yum.repos.d/some-name.repo: Permission denied
然后我执行了 sudo su
并尝试了完全相同的操作,除了 cat
之前的 sudo
,它没有任何问题。我在上面遗漏了什么?
<分区>
我在 bash 的命令提示符下尝试了以下操作:
sudo cat << EOF > /etc/yum.repos.d/some-name.repo
#Content
#....
#...
EOF
它提示:
-bash: /etc/yum.repos.d/some-name.repo: Permission denied
然后我执行了 sudo su
并尝试了完全相同的操作,除了 cat
之前的 sudo
,它没有任何问题。我在上面遗漏了什么?
最佳答案
在使用您的 UID 运行时,输出重定向(例如 >)由 bash 执行,而不是由 cat 执行。要使用 root 的 UID 运行,请使用 sudo:
sudo bash -c 'cat << EOF > /etc/yum.repos.d/some-name.repo
line1
line2
line3
EOF'
关于bash - sudo cat << EOF > 文件不起作用,sudo su 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836853/