2017-07-06 79 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” –

相关问题