+ -
当前位置:首页 → 问答吧 → shell读取文件操作遇到的诡异现象

shell读取文件操作遇到的诡异现象

时间:2011-03-03

来源:互联网

Python code

            -W) local WOption=${2%%,*};         # 增加-W选项,以便区分-Wl,@file 情形 20110303 
            echo "-----------------WOption = $WOption";
            case "$WOption" in   
                 "a" ) CFLAGS="$CFLAGS -W$2";;          # 汇编阶段有效
                 "p" ) CPPFLAGS="$CPPFLAGS -W$2";;      # 预处理阶段有效          
                     "l" ) local list=${2#*,};              # 链接阶段有效
                           # echo first: ${list:0:1}        # 取第一个字符 20110303
                           if [ ${list:0:1} == "@" ]; then  # 由于XCC对ho文件的链接不支持,需要做特别处理       
                               filename=${list#*@}          # 截除第一个字符@
                               #echo "filename=$filename";  
                               for i in `cat $filename`; do 
                                   echo i="$i";
                                   EXISTING_HO_FILES="$EXISTING_HO_FILES $i";
                                   echo eeeeeeeeeeeeeeeeeeeee33
                                   echo EXISTING_HO_FILES="$EXISTING_HO_FILES";
                                   echo dddddddddddddddddddddddd
                               done
                               #CFLAGS="$CFLAGS -W$2";      # 不要记录到变量CFLAGS中
                           else 
                               CFLAGS="$CFLAGS -W$2";
                           fi    
                           echo ++++++*************+EXISTING_HO_FILES="$EXISTING_HO_FILES";
                           ;;                                                                   
                 *) echo "else"; CPPFLAGS="$CPPFLAGS -W$2"; CFLAGS="$CFLAGS -W$2";;
            esac
            shift 2;;

这个代码为什么执行显示:

-----------------WOption = l
++++++*************+EXISTING_HO_FILES=
-----------------WOption = p
-----------------WOption = klasld
else
-----------------WOption = a
-----------------WOption = l
i=dsps1.o
eeeeeeeeeeeeeeeeeeeee33
EXISTING_HO_FILES= dsps1.o
dddddddddddddddddddddddd
i=dsps2.o
eeeeeeeeeeeeeeeeeeeee33
 dsps2.o_HO_FILES= dsps1.o
dddddddddddddddddddddddd
i=dsps3.o
eeeeeeeeeeeeeeeeeeeee33
 dsps3.o_HO_FILES= dsps1.o
dddddddddddddddddddddddd
i=dsps4.o
eeeeeeeeeeeeeeeeeeeee33
 dsps4.o_HO_FILES= dsps1.o
dddddddddddddddddddddddd
 dsps4.o***********+EXISTING_HO_FILES= dsps1.o

作者: zhongyunde   发布时间: 2011-03-03

哪有这么问的。你到底哪一句不懂?

作者: iambic   发布时间: 2011-03-03

lz的结贴率。。。。

作者: codesnail   发布时间: 2011-03-03

加上 dos2unix -U $filename >& /dev/null # cat 命令对文件中的\r处理会失
cygwin中cat对于\r处理有问题

作者: zhongyunde   发布时间: 2011-03-03

热门下载

更多