加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 带变量的sh命令

发布时间:2020-12-16 01:49:26 所属栏目:安全 来源:网络整理
导读:我想知道如何让我的 shell脚本睡觉我的变量总和,谢谢! #!/bin/shecho hello1a=6b=2c=3d = $a+$b+$csleep $decho hello2 解决方法 正如其他人所指出的那样,现代(*)方法是使用#!/ bin / bash甚至是#!/ bin / ksh,内置支持算术运算,使用n = $(($a $b $c) .
我想知道如何让我的 shell脚本睡觉我的变量总和,谢谢!

#!/bin/sh
echo hello1
a=6
b=2
c=3
d = $a+$b+$c
sleep $d
echo hello2

解决方法

正如其他人所指出的那样,现代(*)方法是使用#!/ bin / bash甚至是#!/ bin / ksh,内置支持算术运算,使用n = $(($a $b $c) .

正如您已明确提到#!/ bin / sh,这是一个适合您的解决方案.

#!/bin/sh
echo hello1
a=6
b=2
c=3
d=`echo "$a+$b+$c" | bc`
sleep $d
echo hello2

关键部分是使用反引号进行命令替换,并使用shell的管道(|)功能发送要由bc命令评估的数学参数:即

d=`echo "$a+$b+$c" | bc`
 |  |       |      |  | -> bc is a "basic" calulator
 |  |       |      | -> pipes pass std-out from preceding cmd,to std in fo following cmd
 |  |       | -> a string to be passed to `bc` for arthimetic evaluation
 |  | -> echo writes its output to std-out 
 | -> = assigns output of cmd=substition to var $d

(*)现代贝壳意味着1986年及以后;-)

IHTH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读