[shell] shell变量附值咨询,怪异
发表于 : 2012-03-31 11:54
今天做个测试,发现个问题,大家来看下,变量附值老有问题
例如:一个文件夹下面,有一个文件和一个md5值,两个需要比对一下md5是不是相同,如下:
#/bin/bash
set -x
remote_key1=$(head -1 aaa.md5)
key1=$(md5sum aaa.zip | awk '{print $1}' )
if [ $remote_key1 != `echo $key1` ];then
echo $key1
fi
++ head -1 aaa.md5
+ remote_key1=$'876b141d010fc7ca686a61b7139340f1\r'
++ md5sum aaa.zip
++ awk '{print $1}'
+ key1=6f2b1d6b2cf9938d4ba414e343633969
++ echo 6f2b1d6b2cf9938d4ba414e343633969
+ '[' $'876b141d010fc7ca686a61b7139340f1\r' '!=' 6f2b1d6b2cf9938d4ba414e343633969 ']'
+ echo 6f2b1d6b2cf9938d4ba414e343633969
6f2b1d6b2cf9938d4ba414e343633969
看里面这个remote_key1值,附值为$'876b141d010fc7ca686a61b7139340f1\r' 这个不正常啊,前面多个$,后面多个\r
在机器执行 head -1 aaa.md5 正常,求解啊
[root@puppet 2012]# head -1 aaa.md5
876b141d010fc7ca686a61b7139340f1
例如:一个文件夹下面,有一个文件和一个md5值,两个需要比对一下md5是不是相同,如下:
#/bin/bash
set -x
remote_key1=$(head -1 aaa.md5)
key1=$(md5sum aaa.zip | awk '{print $1}' )
if [ $remote_key1 != `echo $key1` ];then
echo $key1
fi
++ head -1 aaa.md5
+ remote_key1=$'876b141d010fc7ca686a61b7139340f1\r'
++ md5sum aaa.zip
++ awk '{print $1}'
+ key1=6f2b1d6b2cf9938d4ba414e343633969
++ echo 6f2b1d6b2cf9938d4ba414e343633969
+ '[' $'876b141d010fc7ca686a61b7139340f1\r' '!=' 6f2b1d6b2cf9938d4ba414e343633969 ']'
+ echo 6f2b1d6b2cf9938d4ba414e343633969
6f2b1d6b2cf9938d4ba414e343633969
看里面这个remote_key1值,附值为$'876b141d010fc7ca686a61b7139340f1\r' 这个不正常啊,前面多个$,后面多个\r
在机器执行 head -1 aaa.md5 正常,求解啊
[root@puppet 2012]# head -1 aaa.md5
876b141d010fc7ca686a61b7139340f1