exec — execute commands and open, close, or copy file descriptors 都知道 exec 可以执行命令,没想到还可以操作 file descriptors
起因: 在获取 zookeeper 配置时,不想使用 echo conf | nc 127.0.0.1 2181
exec
# open file descriptor, can read and write
[root@node02 ~]# exec 3<> file.txt
# write file descriptor
[root@node02 ~]# echo aaaa | cat >&3
# read file descriptor
[root@node02 ~]# cat <&3
aaaa
# close file descriptor
[root@node02 ~]# exec 3<&-
echo conf | nc 127.0.0.1 2181 替代方法
echo conf | (exec 3<>/dev/tcp/localhost/2181; cat >&3; cat <&3; exec 3<&-)