从脚本中退出 Windows 终端交互模式

     2023-03-07     115

关键词:

【中文标题】从脚本中退出 Windows 终端交互模式【英文标题】:Exit windows terminal interactive mode from within a script 【发布时间】:2013-12-06 00:50:04 【问题描述】:

设置是这样的:

init.bat 做了一些事情,然后调用python app.py -i

app.py 是程序的核心,根据用户输入,它最终可能会在终端上运行各种程序。

大多数命令都以用户继续输入命令的方式结束,但还有其他命令我想在完成任务后关闭终端。


例子:

用户输入命令:>>> dostuff,完成后关闭终端。

app.py 处理它:

def dostuff():
    #here's the issue.
    #i want it to run a program and close the terminal
    #but since it's on interactive mode, it will stay open after processing the command.
    print('doing some stuff')
    os.system('.\stuff.bat')
    # exits... 

stuff.bat:

@echo i'm gonna do some stuff and close the terminal
rem ...stuff
rem ...stuff
:: exits...

此时,终端应该关闭,但交互模式阻止了这种情况的发生。


我希望我的解释清楚。我需要的是一种强制程序在某些命令后运行和退出的方法,或者一种在不退出当前正在执行的程序的情况下打开/关闭交互模式的方法,但我不确定如何在将终端设置为交互模式后实现。

【问题讨论】:

你试过exit()吗? 是的,但这不是问题。 exit()(在 .py 文件中)和 exit(.bat 文件)都是隐含的。如果我不在交互模式下启动 app.py,终端会按预期关闭,但我正在寻找一种在该模式下启动它的方法,但在某些情况下强制它退出。如果不可能,我认为以另一种方式对其进行编码会很简单:默认退出并强制它在某些情况下进行交互,但我不想那样做,因为我是目前尝试对我来说看起来更干净。 Why the CMD window will not close after Batch file execution? 的可能重复项 可能相关:superuser.com/questions/192550/… 感谢您的链接,但它不是重复的。我知道是交互模式导致它,我明确告诉它在交互模式下运行。我需要的是一种随时关闭它的方法。 【参考方案1】:

我假设你可以控制 python 返回的退出代码。

如果你想继续,只需让 python 返回 0,如果你想退出,则返回 1。然后修改INIT.BAT中对python的调用如下:

python app.py -i || exit

【讨论】:

在nodejs的commandprompt中执行node进入命令交互模式后怎么退出

...来为您解答:  推出node命令行:两次ctrl+C或者一次ctrl+D退出终端:exit;(经测试,都没什么问题)  快捷键是ctrl+d或者输入.exit,在node下输入.help你会看到一个命令清单,里边介绍了常用命令。  希望我的回答对你有帮助。参考... 查看详情

shell总结11-shell运行模式(代码片段)

...入输出打交道的shell。比如执行一个静默安装的自动化的脚本。判断是否交互式if["$PS1 查看详情

如何在终端中退出“git status”列表?

】如何在终端中退出“gitstatus”列表?【英文标题】:Howtoexita\'gitstatus\'listinaterminal?【发布时间】:2010-12-1408:43:36【问题描述】:我是Git和终端的新手。如何退出由gitstatus命令生成的列表模式?【问题讨论】:【参考方案1】:... 查看详情

每天三分钟搞定linuxshell脚本24后台模式运行

参考技术A当运行脚本的时候在最后加上符号&,则对应的脚本在后台运行。建立脚本为,输入./test.sh&运行运行后1.txt文件会不断增加内容,但是脚本以后台运行不会在终端占用。运行结果为:输入jobs可以看到这个后台进程:这个... 查看详情

如何从 bash 脚本中 ssh?

】如何从bash脚本中ssh?【英文标题】:Howtosshfromwithinabashscript?【发布时间】:2010-12-2602:17:31【问题描述】:我正在尝试创建一个ssh连接并从脚本中在远程服务器上做一些事情。但是终端提示我输入密码,然后在终端窗口而不是... 查看详情

linux中怎样开机启动python程序

参考技术A终端命令行执行python脚本文件:$python文件名python脚本文件名是以.py结尾的,而且要进入到包含该文件名的目录下才能执行。交互提示模式下运行。在终端输入$python即可进入交互提示模式,然后输入python代码。利用IDLE... 查看详情

在googlechrome自助服务终端模式/视图中显示关闭选项(代码片段)

我已经从我的Windows桌面应用程序启动了kiosk模式的谷歌浏览器运用chrome.exe–kioskhttp://www.my.url.com我想在自助服务终端模式下显示CLOSE选项/按钮。请注意,我没有可用的键盘退出。任何帮助表示赞赏。答案使用此处的CloseKioskChrome... 查看详情

从 Web UI 与本地 Perl 脚本交互

...18:45:50【问题描述】:鉴于我有一个本地Perl脚本,可以在Windows命令提示符中打印“Hello”。我想创建一个Web界面,当我使用Javascript或其他工具单击HTML页面上的按钮时,我将能够执行这个本地Perl脚本。我曾尝试在XamppApache服务器... 查看详情

如何从 Ubuntu 中的启动终端执行脚本正确启动脚本?

】如何从Ubuntu中的启动终端执行脚本正确启动脚本?【英文标题】:HowtostartascriptproperlyfromastarterterminalexecutedscriptinUbuntu?【发布时间】:2020-04-0411:39:18【问题描述】:假设您的面板中有一个启动器,它在终端模式下启动一个名为f... 查看详情

python import 以交互方式工作,但不是来自脚本

...时间】:2018-07-0205:18:02【问题描述】:免责声明:我不是Windows专家,所以这可能是Windows特有的东西。我观察到一种情况,我可以在交互模式下导入模块,但不能在从文件请求时导入。这是foo.py的全部内容:#!/usr/bin/envpython 查看详情

从命令行(在 Windows 中)对 FLA 文件执行 jsfl 脚本

】从命令行(在Windows中)对FLA文件执行jsfl脚本【英文标题】:ExecuteajsflscriptonaFLAfilefromcommandline(inWindows)【发布时间】:2020-03-1923:23:52【问题描述】:这个问题已经被问过并且已经关闭,这就是为什么我再次问这个问题,希望它... 查看详情

从 shell 脚本生成交互式 telnet 会话

】从shell脚本生成交互式telnet会话【英文标题】:Spawninganinteractivetelnetsessionfromashellscript【发布时间】:2010-09-1104:17:16【问题描述】:我正在尝试编写一个脚本以允许我登录到控制台服务器的48个端口,以便我可以快速确定哪些设... 查看详情

从 Windows 终端中以提升的权限打开 Windows 终端

】从Windows终端中以提升的权限打开Windows终端【英文标题】:OpeningupWindowsTerminalwithelevatedprivileges,fromwithinWindowsTerminal【发布时间】:2020-10-1106:33:01【问题描述】:这里有很多关于如何从powershell提升权限的问题,几乎所有人都推荐... 查看详情

通过 Windows 终端中的脚本设置 git bash 配色方案

】通过Windows终端中的脚本设置gitbash配色方案【英文标题】:SetgitbashcolorschemeviascriptinWindowsTerminal【发布时间】:2020-10-0621:26:31【问题描述】:为了设置我的终端主题,我通常使用打印ANSI控制序列的脚本。例如,echo-e"\\033]11;r... 查看详情

为啥我的 JScript(Windows 脚本宿主)在未捕获的异常中以 0 退出?

】为啥我的JScript(Windows脚本宿主)在未捕获的异常中以0退出?【英文标题】:whydoesmyJScript(windowsscripthost)exitwith0onanuncaughtexception?为什么我的JScript(Windows脚本宿主)在未捕获的异常中以0退出?【发布时间】:2009-04-0701:17:51【问... 查看详情

在linux的终端怎么退出python命令行

参考技术A1.Ctrl+d相信这个快捷键在很多交换式情景下都能退出交换式模式。\\x0d\\x0a2.quit()或者exit(),在很多交换式模式下是通过quit命令退出,在python的交换式模式所有命令都是函数,不能漏掉后面的()。\\x0d\\x0a3.输入exit()运行或... 查看详情

如何设定windows占据整个屏幕

如何将Windows设置为占据整个屏幕,使其看上去像是在使用一台WindowsPC。在全屏(FullScreen)模式中,会隐藏MacOSX与所有的ParallelsDesktop控件。选择以下其中一种方法切换为全屏(FullScreen)模式:•从融合(Coherence)模式点击菜单栏中的P... 查看详情

从 WSL 运行某些东西的 Windows bash 脚本

】从WSL运行某些东西的Windowsbash脚本【英文标题】:WindowsbashscripttorunsomethingfromWSL【发布时间】:2020-05-2521:37:12【问题描述】:我正在尝试写下一个Windowsbash脚本:启动适用于Linux的Windows子系统(WSL)和在WSL中cd到“../myfolder/”运行./... 查看详情