Chinaunix

标题: 赋值时出现单引号 [打印本页]

作者: beauty2003    时间: 2008-12-11 16:47
标题: 赋值时出现单引号
FULL_FILENAME=/data/cjtest/feedata1/%Y%m/%D/TEST%H%M.Tdat

代码:
amar_conf[$i]=$(eval grep -w "FULL_FILENAME=" "${amar_list[$i]}"|awk -F= '{print $NF}'|sed 's/%M/\*/g'|sed 's/%/\$/g')
        echo ${amar_conf[$i]}
        if [ "$select_mode" = "first" ];then
        ls "${amar_conf[$i]}"
        feedata_name=$(eval ls "${amar_conf[$i]}"|sed -n '1p')
        echo $feedata_name

相关运行截图:

很纳闷,为什么再把值赋给amar_conf[$i]时,前面会多了个'号

我的bash版本如下:
GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)

tu.jpg (546.52 KB, 下载次数: 21)

tu.jpg

作者: beauty2003    时间: 2008-12-11 17:00
我试过这段代码:
amar_conf[$i]=$(eval grep -w "FULL_FILENAME=" "${amar_list[$i]}"|awk -F= '{print $NF}'|sed 's/%M/\*/g'|sed 's/%/\$/g')

如果不用sed做处理,赋值时不会出现这种前面只有一个单引号的情况。现在只有一个单引号,到后面ls的时候,就提示找不到相关文件了。
作者: waker    时间: 2008-12-11 17:09
file一下你的那些xxxxxxxx.ini
作者: beauty2003    时间: 2008-12-11 17:09
问题已解决,和文件的内容有关系,我把那个文件dos2unix下,就正常了。
作者: beauty2003    时间: 2008-12-11 17:13
格式化那个.ini文件后。
再赋值时,就有成对的单引号了
+ amar_conf[$i]='/data/cjtest/feedata1/$Y$m/$D/TEST$H*.Tdat'
+ echo '/data/cjtest/feedata1/$Y$m/$D/TEST$H*.Tdat'
不过那个文件的原先面貌也被毁了。。。。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2