Ubuntu 用 sudo 和 echo 指令加字串到系統設定檔

阿舍覺得利用 echo 指令再加上重導輸出到檔案來在檔案的最後面加上一行文字的功能很好用,尤其是在需要將一行字串加到系統設定檔時會特別的好用,可是 ... 因為是系統設定檔,所以,就會有權限上的問題,因此,就要用上 sudo 來處理,但是,直接用「sudo echo > 」就還是會出現「Permission denied」的訊息哩 !



阿舍為了這解決這個問題,阿舍就找到用 tee 指令來處理的方式,但是,阿舍其實沒有覺得好用,不過,也就這樣用著,就一直到最近阿舍才發現,用 sudo 搭配 sh 指令也是可以解決這個問題的哩 !

直接用 sudo 加上 echo 會有問題 ...
用法很簡單,就是 sudo 指令加上 sh 指令及 -c 選項,然後,再把 echo 指令用字串的方式來做為 sh 指令的參數,這樣就可以不需要用到管線和 tee 指令了哩 ! 以阿舍要直接寫一行 dns 的設定到 /etc/network/interfaces 檔案為例,阿舍就可以直接用下面這樣一行來搞定囉 !

$ sudo sh -c "echo dns-nameservers 8.8.8.8 >> /etc/network/interfaces"

所以,當你如果有遇到指令不能夠直接搭配 sudo 指令來取得權限時,就可以試試用 sudo 加 sh 指令的方式來用看看,就應該有解了哩 ! ....
分享:

沒有留言 :