$ sudo echo "151.101.76.133 raw.githubusercontent.com" >> /etc/hosts
bash: /etc/hosts: 許可權不夠
bash 報錯說許可權不夠,是因為重定向符號 >
和 >>
也是 bash 的命令。我們使用 sudo
只是讓 echo
命令具有了 root 許可權,但是沒有讓 >
和 >>
命令也具有 root 許可權,所以 bash 會認為這兩個命令都沒有寫入 hosts 檔案的許可權。
解決方法:
sudo sh -c "echo '151.101.76.133 raw.githubusercontent.com' >> /etc/hosts"
利用 sh -c
命令,它可以讓 bash 將一個字串作為完整的命令來執行,這樣就可以將 sudo
的影響範圍擴充套件到整條命令。