我想知道如何让我的shell脚本睡眠我的变量总和,谢谢!
#!/bin/sh
echo hello1
a=6
b=2
c=3
d = $a+$b+$c
sleep $d
echo hello2
答案 0 :(得分:5)
正如其他人所指出的那样,现代(*)方法是使用#!/bin/bash
甚至#!/bin/ksh
来使用{{1}内置的算术运算支持}。
正如您明确提到的n=$(($a+$b+$c)
,这是一个适合您的解决方案。
#!/bin/sh
关键部分是使用反引号进行命令替换,并使用shell管道(#!/bin/sh
echo hello1
a=6
b=2
c=3
d=`echo "$a+$b+$c" | bc`
sleep $d
echo hello2
)函数发送要由bc
命令评估的数学参数:ie < / p>
|
(*)现代贝壳意味着1986年及以后; - )
IHTH
答案 1 :(得分:1)
您可以使用$((...))
进行算术运算:
d=$(($a + $b + $c))
答案 2 :(得分:1)
试试这个脚本:
Toolbar
答案 3 :(得分:0)
您可以使用
a=6
b=2
c=3
((d=a+b+c))
答案 4 :(得分:0)
为了使可变时间从几秒到几小时不等,一种方法是使用for循环。这样,整个时间应该经过三个for循环,每个循环分别消耗秒,分钟和小时。以下是bash代码:
echo -n "enter seconds:"
read sec
echo -n "enter minutes:"
read min
echo -n "enter hour:"
read hour
for ((i=0; i<$sec;i++))
do
sleep 1
done
for ((i=0;i<$min;i++))
do
sleep 1m
done
for ((i=0;i<$hour;i++))
do
sleep 1h
done
“秒”,“分钟”和“小时”是整个时间的变量。