问题标签 [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.
shell - 如何重定向 Tornado / VXWorks shell 输出?
我最近一直在研究一个嵌入式 C/C++ 项目,使用 Tornado 2 中的 shell 作为调试工具包中正在发生的事情的一种方式。这种方法的唯一问题是它是一个复杂的系统,因此有相当多的输出。每当一些新信息到达时,Tornado 都会“有帮助地”滚动窗口,这意味着如果您发现错误,它会很快从网站上消失而无法查看。每次向上滚动查看时,系统都会添加更多信息,因此查看它的唯一方法是断开硬件。
我很想知道是否有人可以重定向 Tornado 的输出?
我希望可能有一种方法可以从一个小型 python 应用程序中记录所有内容,以便我可以将过滤器应用于传入信息。我尝试连接到 Tornado 进程,但带有信息的窗口不是标准的 CEditCtrl,因此以这种方式提取文本是死路一条。
有什么想法吗?
[编辑]我应该提到我们只运行 Tornado 2.1.0 并且升级到更新的版本是我无法控制的。
[Edit2]根据 WinID,Tornado 中的相关窗口是“AfxFrameOrView42”。
macos - 如何创建与 Finder 的“压缩”菜单项格式相同的 zip 文件?
在 Mac OS X 上,您可以通过选择一些文件并从上下文菜单或文件菜单中选择“压缩”,从 Finder 创建一个 zip 存档。不幸的是,生成的文件与命令创建的存档不同zip
(使用默认选项)。
这种区别对 Apple 运营的至少一项服务很重要,该服务无法接受使用该zip
命令创建的档案。必须手动创建档案使我无法完全自动化我的发布构建过程。
如何在 shell 脚本中创建正确格式的 zip 存档?
编辑:自从很久以前写这个问题以来,我发现它们之间的关键区别在于ditto
它们zip
如何处理符号链接:因为应用程序包中的代码签名包含符号链接,所以它需要作为链接保存而不是存储作为常规文件。ditto
默认情况下执行此操作,但zip
不执行此操作(-y
需要选项)。
shell - 您最新的有用 Perl 单线(或涉及 Perl 的管道)是什么?
单线应该:
- 解决一个现实世界的问题
- 不要过于神秘(应该易于理解和重现)
- 值得花时间写它(不应该太聪明)
我正在寻找实用的技巧和窍门(补充示例perldoc perlrun
)。
javascript - 替换 Python 的 Javascript 解释器
在快速动态类型语言方面,我真的开始喜欢 Javascript,因为我在 Web 项目中经常使用它,特别是因为它使用与 Actionscript (flash) 相同的语法。
这将是一种理想的 shell 脚本语言,可以更轻松地从站点的前端和后端移动代码,并且减少 python 的奇怪语法。
是否有一个易于安装的好的 javascript 解释器(我知道有一个基于 java 的解释器,但这意味着安装所有要使用的 java 东西),
iis - 使用 Powershell 访问 IIS 日志?
我知道您可以使用 PowerShell 将注册表之类的东西变成驱动器号。PowerShell 中还有其他对象以这种方式对待其他对象。有谁知道以这种方式访问 IIS 日志的任何 cmdlet?
unix - 当命令尝试以 shell 模式打开编辑器时打开 Emacs 缓冲区
我喜欢使用 Emacs 的 shell 模式,但它有一些不足之处。其中之一是当 shell 命令尝试调用编辑器时打开新缓冲区不够聪明。例如,将环境变量VISUAL
设置为vim
我从svn propedit
:
(可能很难从表示中分辨出来,但这是一个可怕的、丑陋的混乱。)
VISUAL
设置为"emacs -nw"
,我得到
(它适用于VISUAL
set to just emacs
,但只能从 Emacs X 窗口内部,而不是在终端会话内部。)
有没有办法让 shell 模式在这里做正确的事情并代表命令行进程打开一个新的缓冲区?
windows - C/C++ 程序如何将自己置于后台?
从命令行启动的正在运行的 C 或 C++ 程序将自身置于后台的最佳方式是什么,相当于用户从命令末尾带有“&”的 unix shell 启动?(但用户没有。)它是一个 GUI 应用程序,不需要任何 shell I/O,所以没有理由在启动后绑定 shell。但我希望在没有“&”(或在 Windows 上)的情况下自动启动 shell 命令。
理想情况下,我想要一个可以在任何 Linux、OS X 和 Windows 上运行的解决方案。(或者我可以使用#ifdef 选择的单独解决方案。)可以假设这应该在执行开始时完成,而不是在中间的某个地方。
一种解决方案是让主程序成为启动真正二进制文件的脚本,小心地将其置于后台。但是,需要这些耦合的 shell/二进制对似乎并不令人满意。
另一种解决方案是立即启动另一个执行版本(使用“系统”或 CreateProcess),使用相同的命令行参数,但将子进程置于后台,然后让父进程退出。但与将自身置于后台的过程相比,这似乎很笨拙。
在几个答案后编辑:是的,fork()(或 system(),或 Windows 上的 CreateProcess)是一种方法,我在最初的问题中暗示了这一点。但是所有这些解决方案都会创建一个后台的 SECOND 进程,然后终止原始进程。我想知道是否有办法将现有进程置于后台。一个区别是,如果应用程序是从记录其进程 id 的脚本启动的(可能是为了以后杀死或其他目的),那么新分叉或创建的进程将具有不同的 id,因此任何启动脚本都无法控制,如果你明白我在说什么。
编辑#2:
fork() 对于 OS X 来说不是一个好的解决方案,其中“fork”的手册页说如果使用某些框架或库是不安全的。我试过了,我的应用程序在运行时大声抱怨:“进程已经分叉,你不能安全地使用这个 CoreFoundation 功能。你必须 exec()。”
我对 daemon() 很感兴趣,但是当我在 OS X 上尝试它时,它给出了相同的错误消息,所以我认为它只是 fork() 的一个精美包装器,并且具有相同的限制。
请原谅 OS X 中心主义,它恰好是我眼前的系统。但我确实在寻找所有三个平台的解决方案。
python - 如何在纯 Python 中表达这个 Bash 命令
我在一个有用的 Bash 脚本中有这一行,但我还没有设法将其翻译成 Python,其中“a”是用户输入的要归档的文件的天数:
对于最通用的跨平台元素,我熟悉 os.name 和 getpass.getuser。我也有这个函数来生成相当于 ~/podcasts/current 的所有文件的全名列表:
首先,必须有更好的方法来做到这一点,欢迎提出任何建议。无论哪种方式,例如,“AllFiles('/users/me/music/itunes/itunes music/podcasts')”都会在 Windows 上给出相关列表。大概我应该能够检查这个列表并调用 os.stat(list_member).st_mtime 并将所有超过某个天数的东西移到存档中;我有点坚持这一点。
当然,任何带有 bash 命令简洁的东西也会很有启发性。
bash - 如何使用shell脚本比较两个不同目录中同名的文件
在继续使用 SVN 之前,我曾经通过简单地保留一个/develop/
目录并在那里编辑和测试文件,然后将它们移动到该/main/
目录来管理我的项目。当我决定迁移到 SVN 时,我需要确保目录确实是同步的。
那么,编写 shell 脚本 [ bash ] 以递归比较两个不同目录中同名文件的好方法是什么?
注意:上面使用的目录名称仅用于示例。我不建议将您的代码存储在顶层:)。
php - 如何将 PHP 脚本转义到外部编辑器并在之后返回?
具体来说,我有一个 PHP 命令行脚本,在某个时候需要用户输入。我希望能够执行外部编辑器(例如 vi),并在恢复脚本之前等待编辑器完成执行。
我的基本想法是使用临时文件进行编辑,然后检索文件的内容。类似于以下内容:
我怀疑这在 PHP 命令行脚本中是不可能的,但是我希望有某种 shell 脚本技巧可以用来实现相同的效果。
关于如何在其他脚本语言中实现这一点的建议也非常受欢迎。