+ -
当前位置:首页 → 问答吧 → eval问题

eval问题

时间:2011-03-29

来源:互联网

cat bb.sh
w='a="a
b
c"'
echo "$w"
eval $w
echo $a

sh bb.sh
a="a
b
c"
a b c

w的值是个多行的变量,为啥eval一把后,回车变空格了,我希望还是回车

作者: 南非蜘蛛   发布时间: 2011-03-29

没办法啊,要么改成:
  1. w='a="a\nb\nc"'
  2. echo -e "$w"
  3. eval $w
  4. echo -e "$a"
复制代码
要么改成:
  1. w='a="a
  2. b
  3. c"'
  4. echo "$w"
  5. eval $w
  6. echo $a | tr ' ' '\n'
复制代码

作者: xiaopan3322   发布时间: 2011-03-29

w='a="a
b
c"'
echo "$w"
eval "$w"
echo "$a"

作者: ziyunfei   发布时间: 2011-03-29



QUOTE:
w='a="a
b
c"'
echo "$w"
eval "$w"
echo "$a"
ziyunfei 发表于 2011-03-29 10:18




    我靠,郁闷,居然没注意这个双引号,,,
    thx...

作者: xiaopan3322   发布时间: 2011-03-29

好像有点问题

[root@douzhe_com ~]# cat bb.txt
aaaaaaaaaaa
bbbbbbbbbbb
wwccccccccccc
ddddddddddd
eeeeeeeeeee
[root@douzhe_com ~]# cat bb.txt|awk 'BEGIN{FS="ww";RS=""}{for(i=1;i<=NF;i++) print "'\''""v"i"=\""$i"\"""'\''"}'        
'v1="aaaaaaaaaaa
bbbbbbbbbbb
"'
'v2="ccccccccccc
ddddddddddd
eeeeeeeeeee"'
[root@douzhe_com ~]# eval $(cat bb.txt|awk 'BEGIN{FS="ww";RS=""}{for(i=1;i<=NF;i++) print "'\''""v"i"=\""$i"\"""'\''"}')
-bash: v1="aaaaaaaaaaa bbbbbbbbbbb ": command not found
[root@douzhe_com ~]#

作者: 南非蜘蛛   发布时间: 2011-03-29

热门下载

更多