Відповіді:
Як задокументовано, ви можете запускати мета-команди за допомогою --commandпараметра.
sudo -u postgres psql --command '\password postgres'
Одиничні лапки гарантують, що оболонка не сприймає зворотну косу рису як евакуаційний символ.
sudo -u postgres psql --command "\password". Цікаво, чому моє запитання було скасовано.
"\\...".
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.Я думаю, що тому "\password"добре працював.
Замість використання команди psql \password, яка очікує інтерактивний термінал, ви можете використовувати:
ALTER USER postgres WITH PASSWORD 'newpassword';
Скажіть за допомогою psql -cкоманди:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
manкоманду. Не забудьте спробуватиman psqlв майбутньому.