我想將某些文本追加到特權文件/root/.profile
。我用下面的腳本來做到這一點。將文本追加到「/root/.profile」
須藤回聲 「布拉布拉」 >> /root/.profile
它仍然因拒絕訪問而抱怨。什麼是正確的做法?我在ubuntu12.04
上使用bash4
我想將某些文本追加到特權文件/root/.profile
。我用下面的腳本來做到這一點。將文本追加到「/root/.profile」
須藤回聲 「布拉布拉」 >> /root/.profile
它仍然因拒絕訪問而抱怨。什麼是正確的做法?我在ubuntu12.04
上使用bash4
在調用sudo
之前,流重定向>>
被評估。簡單的答案是把整個東西放在一個子外殼內:
sudo sh -c "echo 'blabla' >> /root/.profile"
是的shell會在運行sudo之前打開/root/.profile。 你需要的東西,如:
echo 'blabla' | sudo tee -a /root/.profile
FWIW我覺得pixelbeat的答案是比我好;)我忘了'tee' – Oktalist
您能詳細一點,像爲什麼''tee''是一個更好的解決方案呢? – Richard
@Richard首先產生一個新的'tee'過程可能比產生一個新的'sh'過程要便宜,其次,如果你在引用內部進行變量替換,那麼有兩級引用會引起混淆。如果您在引用內部進行任何變量替換,請注意執行任意代碼爲root的漏洞!可能會出現一些情況,我的回答比pixelbeat更合適,但可能不是很多。 – Oktalist