Ubuntu16.04 使用sudo cat EOF 編輯文件,提示Permission denied錯誤的解決辦法


 

一、執行命令報錯
在Ubuntu16.04下,使用如下命令,修改hosts主機文件,居然提示權限錯誤:

catty@node186:~$ sudo cat <<EOF > /etc/hosts
127.0.0.1 localhost
192.168.1.101 master1
192.168.1.102 worker1
192.168.1.103 worker2
192.168.1.104 worker3
EOF
-bash: /etc/hosts: Permission denied
catty@node186:~$

二、解決辦法1

catty@node186:~$ sudo bash -c "cat > /etc/hosts" <<EOF
127.0.0.1 localhost
192.168.1.101 master1
192.168.1.102 worker1
192.168.1.103 worker2
192.168.1.104 worker3
EOF
catty@node186:~$

三、解決辦法2:

catty@node186:~$ sudo tee /etc/hosts >/dev/null <<EOF
127.0.0.1 localhost
192.168.1.101 master1
192.168.1.102 worker1
192.168.1.103 worker2
192.168.1.104 worker3
EOF
catty@node186:~$

 

參考鏈接:
https://superuser.com/questions/340074/bash-permission-denied-issue-when-trying-to-append-to-eof

https://www.iteye.com/topic/1127130

http://www.ebanban.com/?p=677


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM