Мне нужно было написать script для ввода многострочного ввода в программу (psql
).
После нескольких поисковых запросов, я нашел следующие синтаксические работы:
cat << EOF | psql ---params
BEGIN;
`pg_dump ----something`
update table .... statement ...;
END;
EOF
Это правильно построит многострочную строку (от BEGIN;
до END;
включительно) и передает ее как вход в psql
.
Но я понятия не имею, как/почему это работает, может кто-нибудь объяснить?
Я имею в виду главным образом cat << EOF
, я знаю >
выходы в файл, >>
присоединяется к файлу, <
читает ввод из файла.
Что делает <<
точно?
И есть ли для него справочная страница?