shell脚本中关于进程替换的一个应用

时间:2021-04-10 14:53:52
#!/bin/bash

ip='1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
5.5.5.5
6.6.6.6'

ip_wrong='3.3.3.3
4.4.4.4'

for i in $ip
do
if grep -q -w $i <(echo -e "$ip_wrong\n");then :
else
ssh    $i    "echo $i could be connected"
fi
done

这只是一个简单的举例脚本。
定义了两个变量ip,ip_wrong。变量ip中包含了变量ip_wrong中的内容。下面一个for循环,用来循环的连接每一个变量ip中的ip地址,但是不对其中的属于变量ip_wrong中的ip地址进行连接。
实现这个功能其实非常简单,只要把变量的内容存到文件里,对文件进行操作就很方便了,当然我这个脚步是通过一个进程替换很简洁的完成了这个任务,脚本中标红的部分就是进程替换的应用。有兴趣的可以做一下练习,看看为什么echo要使用-e参数, grep为什么要用-w参数和-q参数等等。

本文出自 “发现生命中的美丽” 博客,转载请与作者联系!