批处理文件问题中从文件输入

发布于 2024-11-05 07:59:16 字数 334 浏览 0 评论 0原文

时,我需要输入密码两次

createuser -h localhost -P -p 5432 -s -d -r -e postgres 

当该命令询问我尝试

createuser -h localhost -P -p 5432 -s -d -r -e postgres < temp.txt

temp.txt 包含的位置

密码
密码

它仍然要求输入密码

有什么建议吗?

i need to enter password two time for this command when it ask

createuser -h localhost -P -p 5432 -s -d -r -e postgres 

i tried

createuser -h localhost -P -p 5432 -s -d -r -e postgres < temp.txt

where temp.txt contains

password
password

it still asks for password

any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不离久伴 2024-11-12 07:59:16

createuser 程序可能使其自己与终端的连接而不是从其标准输入中读取,这是涉及密码的常见行为。使用 SQL CREATE ROLE而不是 createuser

echo "CREATE ROLE postgres CREATEROLE CREATEDB SUPERUSER PASSWORD 'password';" \   
    | psql -h localhost -p 5432 databasename

其中“databasename”是数据库的名称。

来自精细手册

createuser 是 SQL 命令 CREATE ROLE 的包装器。通过此实用程序创建用户与通过其他访问服务器的方法创建用户之间没有明显区别。

The createuser program probably makes its own connection to the terminal rather than reading from its standard input, this is common behavior where passwords are concerned. You'll probably have better luck using the SQL CREATE ROLE rather than createuser:

echo "CREATE ROLE postgres CREATEROLE CREATEDB SUPERUSER PASSWORD 'password';" \   
    | psql -h localhost -p 5432 databasename

Where "databasename" is the name of your database.

From the fine manual:

createuser is a wrapper around the SQL command CREATE ROLE. There is no effective difference between creating users via this utility and via other methods for accessing the server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文