windows下脚本在linux运行换行问题

#!/bin/bash
NOWDATE=`date +%Y%m%d`
LOG_DIR="/data/logs/nginx"
LOG_PATH=${LOG_DIR}${NOWDATE}
echo "date:$NOWDATE"
echo "LOG_DIR:$LOG_DIR"
echo "LOG_PATH:"
echo ${LOG_PATH}

简简单单的代码,输出不是我想要的
date:20160708
LOG_DIR:/data/logs/nginx
LOG_PATH:
20160708gs/nginx

用 sh -x nginxstatic.sh 查看
++ date +%Y%m%d
+ NOWDATE=$'20160708\r'
+ LOG_DIR=$'/data/logs/nginx\r'
+ LOG_PATH=$'/data/logs/nginx\r20160708\r\r'
+ echo $'date:20160708\r\r'
date:20160708
+ echo $'LOG_DIR:/data/logs/nginx\r\r'
LOG_DIR:/data/logs/nginx
+ echo $'LOG_PATH:\r'
LOG_PATH:
+ echo -e $'/data/logs/nginx\r20160708\r\r\r'
20160708gs/nginx

原来该脚本是在windows下写的 换行符为\r\n,而linux换行符为\n \r为回到行首,所以会出现这样的问题。
以后可以在执行windows文件前 用dos2unix命令转换文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值