在PowerShell中运行SQLite脚本后退出到Shell

z2acfund  于 2022-11-10  发布在  Shell
关注(0)|答案(2)|浏览(181)

多年来(至少从2004年开始),我一直使用SQLite开发数据库,并在命令提示符下运行脚本,如下所示:

sqlite3 mytest.db < mytest.sql > mytest.txt

这将运行mytest.sql中包含的脚本并输出到mytest.txt,然后返回到操作系统提示符。我可以使用快速编辑、测试和审查周期。
然而,当我在PowerShell上尝试相同的方法时,如下所示:

.\sqlite3 mytest.db -init mytest.sql > mytest.txt

我被卡住了,必须按Ctrl+C才能返回到提示符。否则,它与命令提示符中的相同。
我在我的SQL脚本中尝试了以下内容:
1..exit[SQLite点命令]
1..system Exit
1..system Exit-PSSession
1..system Exit-PSHostProcess
1.通过管道传输命令(使用| Exit-PSHostProcess)
1.使用分号分隔的语句(使用; Exit-PSHostProcess)
但似乎什么都没有奏效。按Ctrl+C不是什么大不了的事,但不得不这么做却让人恼火。在运行SQLite脚本后,有没有办法返回到PowerShell提示符?

0dxa2lsx

0dxa2lsx1#

我是在回复一个非常古老的帖子,但我也有同样的问题,我刚刚找到了解决方案。
也许这对其他人也有用:

sqlite3 .\mytest.db -init .\mytest.sql -batch .exit
piwo6bdm

piwo6bdm2#

输入重定向<保留在PowerShell中,因此无法工作。你必须这样做:

gc .\mytest.sql | sqlite3.exe mytest.db > mytest.txt

运行\mytest.sql中的命令后,它将自动退出

相关问题