最初我认为这是一个数据库管理问题,但我认为线条变得有点模糊。我将在这里严格遵守脚本问题。如果您想了解更多背景信息,请在此处将其发布在ServerFault上:
我的剧本
我将原始脚本提炼到此处以简化操作。这就是我在名为 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:
答案 0 :(得分:2)
在dos2unix
文件上运行.sh
以转换为正确的UN * X行结尾,它应该有效:
dos2unix pg_dump_script.sh
使用vi
进行编辑时,请检查以确保其未处于dos
编辑模式。如果您从包含CR / LF的原始文本文件开始,vi
将自动进入dos
模式,除非您另有说明。