我正在尝试理解一个代码库,我在其中看到如下所示的行:
socat /tmp/haproxy - <<< "show servers state" > /var/state/haproxy/global
socat在这做什么? <<<
是什么意思?
答案 0 :(得分:3)
socat
命令在文件/tmp/haproxy
和stdin
之间创建双向管道,通过将-
传递给socat
来表示。
实际上它将stdin附加到/tmp/haproxy
并将结果输出写入/var/state/haproxy/global
<<<
是一个bash功能,即所谓的here string。它将字符串“show server state”作为stdin传递给socat
。
答案 1 :(得分:1)
posix shell版本将是:
echo "show servers state" | socat /tmp/haproxy - > /var/state/haproxy/global
<<<
是将字符串放在stdin上的基础
答案 2 :(得分:0)
man
命令的socat
页面和bash
可能有所帮助(请注意<<<
是bash功能)
尝试:
man socat
man bash
# Type the following when the bash man page is open
# it will point you right to the explanation of <<<
/<<<