本文共 1189 字,大约阅读时间需要 3 分钟。
cat file.txt
v1 aav2 bbv3 ccv4 ddv5 eev6 ffcat eval.sh
#!/bin/bashwhile read name valuedo eval "${name}=${value}"done < file.txtecho "v1 = ${v1}"echo "v2 = ${v2}"echo "v3 = ${v3}"echo "v4 = ${v4}"echo "v5 = ${v5}"echo "v6 = ${v6}"./eval.sh
v1 = aav2 = bbv3 = ccv4 = ddv5 = eev6 = ff
cat last.sh
#!/bin/bashecho "$1, $2, $3, $4, $5, ..."echo "\$$#"eval echo "\$$#"
./last.sh aa bb cc
aa, bb, cc, , , ...$3cc
cat eval.sh
#!/bin/bashwhile read name valuedo #eval "${name}=${value}"${name}=${value}done < file.txtecho "v1 = ${v1}"echo "v2 = ${v2}"echo "v3 = ${v3}"echo "v4 = ${v4}"echo "v5 = ${v5}"echo "v6 = ${v6}"./eval.sh
./eval.sh: line 6: v1=aa: command not found./eval.sh: line 6: v2=bb: command not found./eval.sh: line 6: v3=cc: command not found./eval.sh: line 6: v4=dd: command not found./eval.sh: line 6: v5=ee: command not found./eval.sh: line 6: v6=ff: command not foundv1 = v2 = v3 = v4 = v5 = v6 =
dell:~/tmp> zz=lsdell:~/tmp> echo $zzlsdell:~/tmp> $zzeval.sh file.txt last.sh
dell:~/tmp> yy="aa=bb"dell:~/tmp> echo $yyaa=bbdell:~/tmp> $yybash: aa=bb: command not founddell:~/tmp> aa=bbdell:~/tmp> "aa=bb"bash: aa=bb: command not founddell:~/tmp> "ls"eval.sh file.txt last.sh
转载地址:http://tanvi.baihongyu.com/