而用户输入在当前shell,这样显然是不可能被后台进程读到的。
可以考虑从文件中去读:
============= test.sh ==============
#!/bin/bash
while true
do
if [ -f file.txt ]then
read ip <file.txt
[ -n "$ip" ] &&ping -c 1 "$ip" >>result.txt
fi
sleep 1
done
运行 ./test.sh &
用户输入 echo 172.16.0.11 >file.txt
等一段时间后就可以在result.txt中看到结果了。
#!/bin/bash
#任意输入5个数,判断最大值,最小值,总和
s=0
read-p"pleaseinput:"num
s=$(($s+$num))
max=$num
min=$num
avg=$(($s/5))
foriin`seq4`
do
read-p"pleaseinput:"num
s=$(($s+$num))
if[$num-le$min]then
min=$num
fi
if[$num-ge$max]then
max=$num
fi
done
echomax:$maxmin:$minavg:$avg
扩展资料:
for循环:
一般格式为:
forvarinitem1item2...itemN
do
command1
command2
...
commandN
done
写成一行:
forvarinitem1item2...itemNdocommand1command2?done
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)