Odpowiedzi:
Jak udokumentowano , możesz uruchamiać meta-polecenia za pomocą --command
opcji.
sudo -u postgres psql --command '\password postgres'
Pojedyncze cudzysłowy zapewniają, że powłoka nie traktuje ukośnika odwrotnego jako znaku ucieczki.
sudo -u postgres psql --command "\password"
. Zastanawiam się, dlaczego moje pytanie zostało odrzucone.
"\\..."
.
The backslash retains its special meaning only when followed by one of the following characters: ‘$’, ‘`’, ‘"’, ‘\’, or newline.
Myślę, że właśnie dlatego "\password"
działało dobrze.
Zamiast używać \password
komendy psql , która oczekuje interaktywnego terminala, możesz użyć:
ALTER USER postgres WITH PASSWORD 'newpassword';
Powiedz za pomocą psql -c
polecenia:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"
man
polecenia. Pamiętaj, aby spróbowaćman psql
w przyszłości.