【发布时间】:2023-03-09 12:00:02
【问题描述】:
对于家庭作业,每次我想连接到数据库时都必须执行几个步骤,这变得非常烦人且浪费时间。
我已经自动化了其中的一部分。但是,我最近尝试自动执行最后几个命令的尝试并没有成功。
最初,我设置了一个到 PuTTy 终端的快捷方式:
- 创建新快捷方式
- 选择
"C:\Program Files\PuTTY"作为入口点(Start in) - 输入
"C:\Program Files\PuTTY\putty.exe" <MY_USERNAME>@arcade.iro.umontreal.ca -pw <MY_PASSWORD>作为Target
然后双击这个快捷方式后,我输入了这两行(创建然后执行一个bash脚本):
echo "psql -h postgres && \c ift2935 && set search_path to inscriptions_devoir;" > sql.sh
. sql.sh
最终,我的目标是在打开我的快捷方式以完成所有设置并准备就绪后,能够简单地编写. sql.sh(实际上,甚至可能也可以通过某种方式自动化捷径?)。然而,事实上,我的 shell 脚本只运行psql -h postgres 命令,它成功启动了PostGreSQL。
我的问题是:
如何让另外两个命令(\c ift2935 和 set search_path to inscriptions_devoir;)在 PostGreSQL 中自动运行?
编辑:
忘了说:在我的脚本的第一个命令执行后,我可以输入\q离开PostGreSQL,然后终端输出这个:
-bash: c: command not found
我认为,这表明终端中断其当前进程以实际运行PostGreSQL,并且在退出时,它恢复脚本,移动到第二个命令,该命令失败,因为\c 没有任何外壳命令.
【问题讨论】:
标签: postgresql shell ssh automation putty