Почему я получаю ошибку, когда пытаюсь выполнить команду удаленно? - PullRequest
0 голосов
/ 01 марта 2019

У меня проблема с выполнением команды удаленно через SSH.Я пытаюсь ниже.

ssh xx.xx.xx.xx "psql -U qradar -c "select count(id) from offense_view where to_timestamp(start_time/1000) > NOW() - interval '180 minutes'"

Выдает ошибку вроде:

Pseudo-terminal will not be allocated because stdin is not a terminal.
ERROR:  syntax error at or near "180"
LINE 1: ... to_timestamp(start_time/1000) > NOW() - interval 180 minute...

1 Ответ

0 голосов
/ 01 марта 2019

Проблема в том, что вы используете двойные кавычки для разделения аргумента на ssh, а также аргумента на psql внутри команды.Это приводит к неправильному анализу ваших строк.Вам также не хватает конечной двойной кавычки для команды psql.

Вложенные кавычки сложны в оболочке, и это еще сложнее, когда вы используете ssh.Это проще, если вы используете здесь документ.

ssh xx.xx.xx.xx <<EOF
psql -U qradar -c "select count(id) from offense_view where to_timestamp(start_time/1000) > NOW() - interval '180 minutes'"
EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...