2017-07-06 83 views
1

我需要找到所有的.bashrc文件並在其中追加「MYSQL_HISTFILE =/dev/null」來修復問題。這裏有許多的.bashrc中的文件,這樣我就可以這樣做:bash - 找到所有.bashrc文件並追加到它們

find/-type f -name ".bashrc" -exec echo "export MYSQL_HISTFILE=/dev/null" >> {} \; 
+0

爲什麼不編輯全局bash配置文件? –

+0

'/ etc/profile'是這類環境變量的適當位置。但請務必導出它:'export MYSQL_HISTFILE =/dev/null'。 – chepner

+0

我已經更新了/etc/skel/.bashrc,因此對於新用戶,這將成爲他們檔案的一部分。我正在嘗試修復已創建的用戶配置文件。 –

回答

3

>>由最初的shell進程執行,它不能從find使用替代。並且find不會通過shell運行其命令,因此它本身不能執行輸出重定向。

您需要明確執行bash,以便您可以在命令中使用重定向。

find/-type f -name '.bashrc' -exec bash -c 'echo export MYSQL_HISTFILE=/dev/null >> "{}"' \; 
+0

謝謝 - 這工作。我原來的信息中有一個錯字,它應該是「export MYSQL_HISTFILE =/dev/null」 –

相關問題