2016-03-16 1 views
1

Я пытаюсь понять кодовую где я вижу линию, как показано ниже: socat /tmp/haproxy - <<< "show servers state" > /var/state/haproxy/globalЧто <<< означает в Баш (т.е. в SOCAT ... <<<"string" > выходного имени файла.)

Что такое Сокат здесь делает ? Что означает <<<?

+1

'' <<< см здесь-строк особенность Баш (она обеспечивает ввод строки inline к команде) http://unix.stackexchange.com/questions/76402/command-line-instead-of – ritesht93

ответ

3

Команда socat создает двунаправленную трубу между файлом /tmp/haproxy и stdin который выражается путем пропускания - до socat.

На самом деле он добавляет к /tmp/haproxy стандартного ввода и записывает полученный вывод /var/state/haproxy/global

<<< особенность Баш, так называемый here string. Он передает строку «показать состояние сервера» как stdin до socat.

0

В man страницы команды socat и bash могут помочь (Обратите внимание, что <<< особенность Баша)

Try:

man socat 
man bash 
# Type the following when the bash man page is open 
# it will point you right to the explanation of <<< 
/<<< 
+1

Как это поможет с «<<<»? – psmears

+0

Извините ... обновлено – mut3

+0

Как читать страницы справочника bash и socat помогают в понимании '<<<'? –

1

версия оболочки POSIX будет:

echo "show servers state" | socat /tmp/haproxy - > /var/state/haproxy/global 

<<< является bashism поставить строку на стандартный ввод

Смежные вопросы