什么<<< bash中的意思(即在socat中...<<<" string"> output-filename)

时间:2016-03-16 12:45:02

标签: bash socat

我正在尝试理解一个代码库,我在其中看到如下所示的行: socat /tmp/haproxy - <<< "show servers state" > /var/state/haproxy/global

socat在这做什么? <<<是什么意思?

3 个答案:

答案 0 :(得分:3)

socat命令在文件/tmp/haproxystdin之间创建双向管道,通过将-传递给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 <<<
/<<<