linux的shell在后台执行是否可以读取键盘输入的字符串

linux的shell在后台执行是否可以读取键盘输入的字符串,第1张

所谓后台执行,是创建子shell,由shell的子进程去执行的。

而用户输入在当前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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7484002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存