问题标签 [interactive-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1142 浏览

php - PHP 交互式 shell、自动回显和新行

问候各位程序员!

有没有办法让 PHP 的交互式 shellphp -a表现得更像 Rails 控制台或 Chrome 中的控制台?我查看了 php-command 的标志,但没有骰子。

我得到什么:

我想要的是

0 投票
1 回答
3297 浏览

python - 什么魔法可以防止 Tkinter 程序在交互式 shell 中阻塞?

注意:这在某种程度上是对以下问题的跟进:Tkinter - 我什么时候需要调用 mainloop?

通常在使用Tkinter时,您调用Tk.mainloop来运行事件循环并确保事件得到正确处理并且窗口保持交互而不会阻塞。

在交互式 shell 中使用 Tkinter 时,似乎不需要运行主循环。举个例子:

将出现一个窗口,它不会阻塞:您可以与之交互,拖动它,然后关闭它。

因此,交互式 shell 中的某些东西似乎确实识别出一个窗口已创建并在后台运行事件循环。

现在来说有趣的事情。再次以上面的例子为例,但是在下一个提示符下(不关闭窗口),输入任何内容——不实际执行它(即不按回车键)。例如:

如果您现在尝试与 Tk 窗口交互,您会看到它完全阻塞了. 因此,当我们向交互式 shell 输入命令时,我们认为将在后台运行的事件循环停止了。如果我们发送输入的命令,您将看到事件循环继续,并且我们在阻塞期间所做的任何事情都将继续处理。

所以最大的问题是:交互式 shell 中发生的这种魔法是什么?当我们没有明确地执行主循环时,什么运行主循环?为什么当我们输入命令时它需要停止(而不是在我们执行它们时停止)?

注意:以上在命令行解释器中的工作方式是这样的,而不是 IDLE。至于 IDLE,我假设 GUI 实际上不会告诉底层解释器已经输入了某些内容,而只是将输入保留在本地,直到它被执行。

0 投票
1 回答
3643 浏览

python - 我可以像使用 Canopy 一样使用 pyCharm 吗?具体来说,我想念“数据分析环境”吗?

到目前为止,我一直在使用 Enthought Canopy for Python。我真的很喜欢我可以运行一个 .py 文件,并在 Python 窗格中使用它(例如,创建一个类,然后在 Python 窗格中玩耍,尝试了解它是如何工作的,以及我如何与之交互) )。

然而,最近,我爱上了 pyCharm,特别是 Canopy 缺乏的自动完成功能——以及它的外观。但是,当我运行我的程序时,之后就没有类似的方式来玩它了。

0 投票
1 回答
2203 浏览

django - 如何在 Eclipse Pydev 交互式控制台中运行 manage.py

我正在尝试运行 manage.py 以使用 Pydev 在 Django 项目(称为 djangonew)的交互式 Shell 中验证模型(如:manage.py validate)

PYTHONPATH 设置为包含 /djangonew ...所以 import djangonew 然后 dir(djangonew) 实际上在子文件夹 /djangonew/djangonew 中给了我一个名称为“设置”

但在命令行我无法运行 manage.py (甚至找到它)

我该如何解决这个问题?非常感谢

0 投票
1 回答
798 浏览

powershell - 为其他登录用户打开交互式 PowerShell GUI 脚本

大家好,我有一个 powershell MTA(使用 winForms 的 GUI 脚本),它运行良好,让脚本名称为“ENDUserMTA.ps1”,它会调用某些命令并执行一些真正需要管理员权限的操作。当手动运行或通过任务计划程序运行或通过 [registry] RunOnce 或 Run 或任何有管理员权限的情况下设置时,这工作正常..

问题是我想在 END 用户笔记本电脑上调用此脚本并让他们使用它[交互式]我到目前为止尝试过的选项:

  1. 尝试在任务管理器系统帐户中安排“ENDUserMTA.ps1”[使用运行任务时,使用以下用户帐户] - 这将启动并运行 NOT INTERACTIVE [因为系统帐户没有交互式会话]

  2. 尝试使用具有管理员权限的不同用户帐户在任务管理器中安排“ENDUserMTA.ps1”[使用运行任务时,使用以下用户帐户] - 这再次启动,但 GUI 不会显示给没有登录的最终用户管理员权限,而不是仅显示给在选项下设置的用户 [运行任务时,使用以下用户帐户]

我的情况是无法创建 PSSessions 或 Delegated Remoting。我现在在森林中间​​,无处可去!!!

不知道如何以管理员身份向没有管理员权限登录机器的用户调用脚本..

我到底需要什么或类似的解决方案:在安排此脚本时,我安排脚本在登录 [任何用户] 处启动,脚本完成后它将删除预定任务

请帮助..巴拉吉

0 投票
0 回答
470 浏览

python - 尽管脚本是“纯”python,但 .py 和 .ipy 文件的 IPython 行为不同(自定义异常处理程序挂钩停止工作)

我编写了一个异常处理程序,旨在在调用普通 python 异常挂钩之前记录代码中所有未捕获的异常。Python 和 iPython 执行此操作的方式略有不同。我发现,iPython 的执行方式仅在从交互式会话中运行或使用“.ipy”文件扩展名时才有效,尽管我不相信我正在使用任何“魔术”,即使脚本名为 .py 并且是“Pure python”,常规的 python 方法也无法在 ipython 中工作。

我想要一种能够从脚本中为 iPython 设置我自己的异常挂钩的方法,即使它是从命令行作为“.py”文件调用的。

示例代码 testcase.py:

行为:

作品:

不起作用:

%run vs execfile 行为向我表明它与在自包含命名空间中运行的脚本有关,但我无法弄清楚。不过,这可能是一个红鲱鱼。我得到的另一个提示是,如果我在上面的测试用例脚本中使用检查转储帧,则工作的案例对顶部的交互式外壳有以下调用,否则不会出现:

0 投票
2 回答
495 浏览

scala - scala 交互式 shell 文档支持复制粘贴

在大多数编程语言(如 Java 或 Python)中,我们在行尾使用“\”字符来指示下一行文档中的代码是应作为单行代码执行的代码的延续。但是,在 Scala 中,如果我们使用“\”字符,并且用户将两行或多行代码复制并粘贴到 Scala 交互式 shell 中并尝试执行它,它就会失败。

有人在文档中编写 scala 代码,其中运行的单个命令不适合一行文本,如何正确记录代码并同时支持复制/粘贴?

0 投票
2 回答
8334 浏览

python - 具有自动完成功能的自定义交互式外壳

我的任务是创建一个嵌入到 python 中的交互式 shell,这样,当从命令行调用时,它将被放入该 shell。任何人都可以向我推荐一个这样做的图书馆吗?

我需要创建自定义词“动作”的能力,因此当用户键入这些词时,我的程序可以执行我创建的正确功能。我还希望能够在我创建的自定义单词上自动完成/制表符完成。

例子:

0 投票
0 回答
458 浏览

apache-pig - 启动 pig grunt shell 并使用 c# 执行命令

我正在努力使用 c# 在 pig grunt shell 上执行命令。我可以使用以下代码通过 c# 程序启动 grunt shell:

我通过以下方法和事件读取了输出和错误:

但是,我无法从 grunt shell 读取输出行。但是,只有“grunt>”之前的行是单独读取的。

我通过以下命令将参数传递给 grunt shell,

我也无法将参数传递给 grunt shell。当我们启动 grunt shell 时会启动一个 java 进程。如果我在命令提示符下结束 java.exe,则会触发“OutputDataReceived”事件并获得“grunt>”。

我希望 grunt 作为 java 进程运行,因此我们无法向它传递和接收参数。有什么办法可以实现吗??

0 投票
2 回答
2034 浏览

bash - 如何从上一个 bash 命令中获取倒数第二个参数?(在交互式 bash shell 中)

如何在 bash 交互式 shell 中轻松地从上一个命令中获取倒数第二个(倒数第二个)单词/参数?我经常在后台运行命令,我想获取之前指定的文件&,例如,

在上面的例子中,!$给出最后一个词,&。但我想要倒数第二个参数,/tmp/foo



请注意,可以使用范围如 的单词指示符!-1:3,但这对于包含大量单词的命令是不切实际的,因为它不能很快看出有多少单词,例如,

上面的例子可行,但是你要数一数,知道你要的词是第 30 个词,既费时又容易出错。

有没有一种简单的方法可以获得倒数第二个(倒数第二个)单词?

更新:请注意,我正在寻找要在命令行上键入的内容(例如,历史扩展,例如!! 事件指示符$ 单词指示符),而不是使用readline 键绑定(例如,esc键)。

(请注意,这个问题是指交互式 shell 中前一个命令的参数,而不是从命令行传递给 shell 脚本的参数,正如这里的一些答案和评论所指的那样。)