开始我认为是这样的:

[root@jiangyi02.sqa.zmf /home/ahao.mah/ALIOS_TEST]
#cat bbb.sh
#!/bin/sh
eval $1_new=123
eval $1_old=100
eval echo \${$1_new}
eval echo "\${$1_new} - \${$1_old}" | bc
aaa=`eval echo "\${$1_new} - \${$1_old}" | bc`
echo $aaa
[root@jiangyi02.sqa.zmf /home/ahao.mah/ALIOS_TEST]
#sh bbb.sh aa
123
23
bbb.sh: line 6: ${$1_new} - ${$1_old}: bad substitution

其实,在使用eval的时候,如果使用了 ``需要 使用两个\

#cat  bbb.sh
#!/bin/sh
eval $1_new=123
eval $1_old=100
eval echo \${$1_new}
eval echo "\${$1_new} - \${$1_old}" | bc
aaa=`eval echo "\\${$1_new} - \\${$1_old}" | bc`
echo $aaa
[root@jiangyi02.sqa.zmf /home/ahao.mah/ALIOS_TEST]
#sh bbb.sh aa
123
23
23

http://www.linuxquestions.org/questions/linux-general-1/why-i-get-bad-substitution-when-using-eval-898198/

shell使用eval进行赋值bc计算,bad substitution的更多相关文章

  1. SHELL脚本--数学运算和bc命令

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 使用let.(()).$(())或$[]进行基本的整数运算,使 ...

  2. shell中eval的使用问题

    转载:http://www.blogjava.net/jasmine214--love/archive/2010/11/26/339106.html 本文将会讲解一些linux中命令的使用与技巧希望对 ...

  3. KnockoutJS 3.X API 第三章 计算监控属性(2) 可赋值的计算监控属性

    .liveexample{ padding: 1em; background-color: #eeeedd; border: 1px solid #ccc; max-width: 655px; fon ...

  4. Shell中eval的用法示例

    功能说明:告知shell取出eval的参数,重新运算求出参数的内容. 语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分 ...

  5. [20190929]bash使用bc计算的相关问题.txt

    [20190929]bash使用bc计算的相关问题.txt --//快放假没什么事情,使用bash写一些小程序,转化number到oracle number编码,使用bc计算功能,发现一些小问题--/ ...

  6. MATLAB 赋值命令计算结果在命令窗口显示结果

    MATLAB 赋值命令计算结果在命令窗口显示结果 MATLAB如何控制计算结果是否显示在命令窗口 在运算结方程或者设定参数后面加分号也就是 ; 命令窗口就不会显示这些参数或结果了.举个例子clccle ...

  7. 在shell中变量的赋值有五种方法!

    转至:https://blog.csdn.net/weibo1230123/article/details/82085226 在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令 ...

  8. shell编程之变量赋值

    1.变量赋值: name=lbg 等号前后不能有空格 name="Lebron James" 变量值中有空格要用双引号 echo ${name} 用${}更保险 shopt -s ...

  9. shell中eval命令妙用——变量嵌套替换

    eval命令妙用--变量嵌套替换 eval命令在Linux下的应用非常广泛,在写脚本的时候遇到一个变量嵌套的问题,用eval迎刃而解,略试不爽啊. var1="hello" i=1 ...

随机推荐

  1. easyUI中的layout

    Layout 通过$.fn.layout.defaults能够重写Layout. layout是一个具有五个区域的容器.仅仅有中间区域面板是必须的,其余的都是边界面板.每个边界面板都能够通过拖动它的边 ...

  2. linux查找nginx所在目录

    ps -ef |grep nginx

  3. impex 语法

    impex 语法 2016-01-14 16:23 588人阅读 评论(0) 收藏 举报  分类: hybris(8)  脱离java Model单纯的去看impex文件的代码是不能很好理解impex ...

  4. FourCC

    https://en.wikipedia.org/wiki/FourCC A FourCC (literally, four-character code) is a sequence of four ...

  5. 深度学习的seq2seq模型——本质是LSTM,训练过程是使得所有样本的p(y1,...,yT‘|x1,...,xT)概率之和最大

    from:https://baijiahao.baidu.com/s?id=1584177164196579663&wfr=spider&for=pc seq2seq模型是以编码(En ...

  6. 05、ListActivity的使用

    第一个好处:处理共同的操作,避免代码重复 假设我要写第二个界面我也是需要使用到mapView,那你都要去查找一个mapView.都要获取一个Map的一个地图. 第二个好处:代码规范(方便阅读,真实开发 ...

  7. 虚拟化技术概要之VMM结构

    1. 概述 当前主流的 VMM (Virtual Machine Monitor) 实现结构可以分为三类: 宿主模型 (OS-hosted VMMs)Hypervisor 模型 (Hypervisor ...

  8. Filter,Interceptor和Aspect

    过滤器使用的主要是反射 :拦截器使用的主要是回调 :AOP使用的主要是动态代理. 一个请求过来 ,先进行过滤器处理,看程序是否受理该请求.过滤器放过后, 程序中的拦截器进行处理,处理完后进入被AOP动 ...

  9. [Swift通天遁地]七、数据与安全-(13)单元测试的各个状态和应用

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. html5: table表格与页面布局整理

    传统表格布局之table标签排版总结:   默认样式: <style> table { max-width: 800px; border-spacing: 2px; border-coll ...