文件格式不是unix导致sed,cat等读取文件后无法正常退出
程序员文章站
2022-07-11 08:15:31
...
#!/bin/bash bucket_config="sync_log.log" bucket_name=$(sed -n '1p' ${bucket_config}) echo "s3://${bucket_name}/xxxxx" exit
读取一个文件的第一行,然后跟其他字符串拼接,由于sync_log.log这个文件的格式不是unix(CRLF,不是LF),读取是正确的,内容也获取了,但是
echo "s3://${bucket_name}/xxxxx"
变成了xxxxx${bucket_name} 类似正则表达式替换了前面的内容。
换个文件发现没问题,发现是因为这个文件是在windows下的图形界面(remote)下创建的,导致格式异常。用doc2unix sync_log.log转换成unix文本格式后就正常输出了
doc2unix要手动安装,apt-get install doc2unix
上一篇: 模仿google做的会议室预约系统