gpt4 book ai didi

shell - 带变量的 sh 中的 sleep 命令

转载 作者:行者123 更新时间:2023-12-04 10:27:56 26 4
gpt4 key购买 nike

我想知道如何让我的 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

(*)modern in shells 表示 1986 年及以后 ;-)

IHTH

关于shell - 带变量的 sh 中的 sleep 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com