课程章节: 第2章 shell编程基础:2-15 Shell中的文件描述符和管道实战(二)、2-16 Shell中的多进程实战(一)(课程链接:https://coding.imooc.com/lesson/549.html#mid=50191、https://coding.imooc.com/lesson/549.html#mid=50192)
主讲老师: 沈奇才
课程内容:shell编程实战与Linux运维基础--初始shell编程
课程收获:
一、管道的基础知识、简单的功能
##建立一个管道
pipe_path=/tmp_pile1
mkfifo $pipe_path 或者 如果检查管道已存在就不去执行:
[ -e ${pipe_path} ] || mkfifo $pipe_path
exec 7 <> ${pipe_path}
for i in `seq 1 5`
do
echo "写入hello$i"
echo "hello$i" > &7
read -u7 name ##read 默认从标准输入里面赋值 -u:从指定的文件描述符号里面去读入内容,读入后赋值到变量name 里面去
echo "从管道中读取内容&name"
done
二、多进程实战:
例1:探测多节点,用 ping命令探测主机的存活
ping 192.168.126.122 -c1 ## -c后面无空格接数字,-c1:只发一个包,-c2:发2个包...
前面加time可以记录耗时:
time ping 192.168.126.122 -c1
-W指定发包的超时时间(单位是秒),-W1:1秒之后如果包没有回来就返回
for循环实战:
host_prefixf=192.168.126. ##host前缀
for ip in `seq 2 254`
do
host=${host_prefix}.$i
if ping $host -c1 -W1 ;then
echo " $host 可达"
else
echo " $host 不可达"
fi
done
共同学习,写下你的评论
评论加载中...
作者其他优质文章