eval用法
来源:互联网 发布:急需网络兼职工作 编辑:程序博客网 时间:2024/05/16 15:01
eval命令可以对命令行求值,然后做shell替换,再执行替换后的命令行。
几个例子:
1、eval会把赋值语句中双引号之间的内容直接赋给‘=’前的变量,而不是当作字符串赋给变量
例如:
version="(2 4)" 是将字符串赋值给 version;
eval version="(2 4)" 执行时变成了 version=(2 4), 是把数组 (2 4) 赋值给 version
2、当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换
例如:
var1="1234 4556"
tmp=var
eval test="$"$tmp"1"
echo $test
那么就会在屏幕上显示出 :
1234 4556
3、eval会把标准输出中的内容进行赋值
例如
eval $(printf "a=\"1234\" b=\"4556\"") 其中printf也可以替换成echo
echo $a 输出1234
echo $b 输出4556
eval可以用于将sed/awk将变量传给shell可以用eval, 如
几个例子:
1、eval会把赋值语句中双引号之间的内容直接赋给‘=’前的变量,而不是当作字符串赋给变量
例如:
version="(2 4)" 是将字符串赋值给 version;
eval version="(2 4)" 执行时变成了 version=(2 4), 是把数组 (2 4) 赋值给 version
2、当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换
例如:
var1="1234 4556"
tmp=var
eval test="$"$tmp"1"
echo $test
那么就会在屏幕上显示出 :
1234 4556
3、eval会把标准输出中的内容进行赋值
例如
eval $(printf "a=\"1234\" b=\"4556\"") 其中printf也可以替换成echo
echo $a 输出1234
echo $b 输出4556
eval可以用于将sed/awk将变量传给shell可以用eval, 如
eval $(awk 'BEGIN{print "a=ggg b=3"}')echo $a;echo $b
或者传到数组:
builds=`cat build.conf | grep "</build>"`set -A buildeval $(echo "${builds}" | awk -F'"' 'BEGIN {n=0;}{ print "build["n++"]=\""$2"\"";print "build["n++"]=\""$4"\"";}')i=0 while ((i < ${#build[*]})) do env=${build[i]} (( i = i + 1 )) dir=${build[i]} (( i = i + 1 )) echo $env echo $dir done
- eval用法
- eval用法
- eval用法
- eval用法
- eval 用法
- eval用法
- eval函数的用法
- databinder.eval用法范例
- DataBinder.Eval用法范例
- DataBinder.Eval用法范例
- DataBinder.Eval用法
- DataBinder.Eval用法(转贴)
- eval()函数的用法
- DataBinder.Eval用法范例
- DataBinder.Eval用法
- Eval()的所有用法
- 转:eval用法
- DataBinder.Eval用法范例
- extern ,EXPORT_SYMBOL
- poj1691(状态压缩,树型DP)
- Linux文件查找命令find,xargs详述
- Log4net的使用
- 不靠谱的tooltip
- eval用法
- 外部访问JNDI容器内的JDBC数据源
- CSS进阶:详解CSS优先级的读法
- win32声音播放 和 symbain声音播放 的机制 相似
- QPBOC
- epoll_create, epoll_ctl和epoll_wait
- 今天意外发现CSDN博客BUG
- Perl 面向对象编程时 bless()函数的使用
- send