2016-05-29 56 views
0

我需要使用在Ubuntu 14.04 這個簡單的命令的bash編輯的特權文件的特權文件不能正常工作:編輯通過慶典

sudo echo $someText >> $privilegedFile 

我得到這個錯誤:

權限被拒絕

我不知道它有什麼問題。 謝謝。

+0

什麼是'$ privilegedFile'的價值? – agold

+0

有2個命令'echo'和'>>','sudo'特權升級僅適用於'echo'。請參閱下面的chepner的答案: –

+0

^^'''不是命令。 – anishsane

回答

-2

sudo chmod u+xrw FILE 

sudo nano FILE 

不要使用echo編輯,嘗試納米,gedit中或vi。

+0

如果失敗,輸入sudo -s,輸入密碼,然後嘗試命令而不添加'sudo' – RoccoDev

+2

通過附加echo的輸出來編輯文件在非交互式shell中非常合理。 – chepner

3

外殼處理重定向運行sudo之前,所以$privilegedFile仍然打開使用當前用戶的權限。

一種解決方法是使用由sudo運行的程序打開文件,而不是使用重定向。

echo "$someText" | sudo tee -a "$privilegedFile" 

另一種方法是用sudo開始一個完全新的外殼,在該外殼程序執行完整的命令。

sudo sh -c "echo '$someText' >> '$privilegedFile'" 
0

你應該試試這個:

sudo sh -c "echo $text >> $file"