Я запускаю Ubuntu 17.10, и у меня проблема с Postgres. Пару недель назад он работал, но теперь у меня проблема.
sudo su postgres psql
/usr/bin/psql: line 19: use: command not found
/usr/bin/psql: line 20: use: command not found
/usr/bin/psql: line 21: use: command not found
/usr/bin/psql: line 22: use: command not found
/usr/bin/psql: psql: line 24: syntax error near unexpected token `$version,'
/usr/bin/psql: psql: line 24: `my ($version, $cluster);'
Понятия не имею, что делать, синтаксис выглядит нормально.





Пытаться
sudo -u postgres psql
вместо.
На самом деле я не знаю, что делает ваша команда. Быстрый взгляд на man su на самом деле не проясняет, что su будет делать с дополнительными аргументами, но, очевидно, это не началоpsql, он, вероятно, передает содержимое файла в оболочку.
Спасибо за вашу помощь, и это правильно. Я использовал другой способ, потому что видел, как кто-то другой использовал его для запуска postgres, и решил, что это правильный путь. (Плохое предположение)
sudo без «-u» или «-» наследует вашу текущую среду. С помощью «-» он устанавливает новую среду, как если бы вы входили в систему как другой пользователь.
/usr/bin/psql- это сценарий Perl, который начинается с#!/bin/shили подобного? Строка 24 предполагает, что это Perl, строка 19 предполагает, что это Perl, загружаемый в оболочку.