1

最初我认为这是一个数据库管理问题,但我认为线条变得有点模糊。我将在这里严格地保留这个脚本问题。如果您想了解更多背景信息,我将其发布在 ServerFault 上:

https://serverfault.com/questions/511780/postgresql-pgdump-script-on-rhel5-failed-fe-sendauth-no-password-suppliddat

我的脚本

为了简单起见,我将我的原始脚本提炼出来。这就是我在名为pg_dump_script的 .sh 中的内容:

/home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump --host=127.0.0.1 --port=5433 --username=myusername mydbname

当我运行它时,我收到以下错误:

$ bash pg_dump_script.sh
Password:
" does not exist  database "corenection to database "mydbname

我可以复制并粘贴脚本文件中的行并从命令行运行它,一切正常。

以下是脚本文件的权限:

-rwxr-xr-x

I used chmod 755

我不确定我在这里做错了什么?我不是脚本专家,但我想如果我可以从控制台运行它,它当然可以从脚本中正常运行。让我知道是否需要任何信息。我试图保持这个简单。

更新

我删除了所有参数。这是 .sh 中的所有文本

/home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump

我收到此错误:

    $ ./pg_dump_script.sh
: No such file or directoryine 1: /home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump
: command not foundst.sh: line 2:
4

1 回答 1

3

dos2unix在您的文件上运行.sh以转换为正确的 UN*X 行尾,它应该可以工作:

dos2unix pg_dump_script.sh

使用vi检查进行编辑以确保它不在dos编辑模式下。如果您从包含 CR/LF 的原始文本文件开始,除非您另有说明,否则vi将自动进入模式。dos

于 2013-05-31T16:13:54.253 回答