随着时间的推移,我已经在〜/ .bashrc中添加了很多东西,并且新的终端需要花费很多时间来加载。什么是有效的故障排除方法?
答案 0 :(得分:3)
您可以先添加一些echo语句以获得一些进度反馈,或者将其写入带有时间戳的日志。可能会帮助您识别装瓶的脖子。或者只是从股票.bashrc重新开始,然后只添加您真正需要的东西。
答案 1 :(得分:3)
我将详细介绍Cole Tierney的时间戳记想法。您可以安装ts
实用程序(可以在某些发行版的moreutils
包中找到它),然后在单独的bash会话中进行简单的分析:
# Enable command tracing
set -x
# Execute .bashrc, prepend incremental timestamp to each line of call trace
# Save the log to the file named 'out'
source ~/.bashrc |& ts -s %.S >out
然后您将获得文件out
,它看起来像这样:
00.000014 ++ case $- in
00.000092 ++ HISTCONTROL=ignoreboth
00.000111 ++ shopt -s histappend
00.000124 ++ HISTSIZE=1000
00.000136 ++ HISTFILESIZE=2000
00.000147 ++ shopt -s checkwinsize
...
可能并不是所有输出看起来都很有趣,因此您可以在给定的嵌套深度处将行grep出来:
# Get only the lines at 2nd call level
grep ' ++ ' out
通过检查时间戳记中的间隔,您可以找出在.bashrc
中哪些行最重。