因网站方面需要批量替换代码,本来挺简单的一件事却整了半天!

  执行一个简单的sed批量替换脚本sh th.sh,只有二百兆的一个目录,执行了老半天,因此觉得有问题,Ctrl+c停止后,加上了 -x 输出详细信息,发现到某个文件时卡着不动,于是手动sed此文件执行完成后不退出,需要Ctrl + c停止(也试了简单字符串的替换)

  刚开始怀疑是动态文件,于是复制此文件到其他目录,但执行效果一样,将此文件copy到另一台服务器执行正常。又查了必应和Google有相同问题但没解答,尝试vim此文件,里面出现大量中文乱码,xshell的字符集调为utf-8,正常显示,但系统中文提示显示为乱码,故怀疑和系统字符集有关系(系统是之前运维同事搭的),查看/etc/sysconfig/i18n后发现 LANG="zh_CN.GB18030" ,改为 LANG="zh_CN.UTF-8" (备份之前)

wKiom1glOjPDLyuVAAGAF6lNmA4923.png-wh_50

source /etc/sysconfig/i18n #使之立即生效

wKioL1glOkig4BOoAADn86lUkRs624.png-wh_50

再测试发现运行正常。做下记录给后面的童鞋


总结:系统字符集与html文件字符集不统一

ps:查必应期间发现有部分网友shell脚本也出现非死循环不退出,或者也有关系!



注:不会唱歌的土木工程人员不是一个好运维!!!qqq