编写一个终端仿真器,里面有什么?

2023-12-01

这有点关系到这个问题关于 cmd.exe 的更好的 shell 终端/gui 界面

在我寻找更好的 shell 终端的过程中,我遇到的唯一有用的东西是Console2,其他替代品不是免费的,而且通常不会比 Console2 提供更多的功能来让它们物有所值。

我不禁想,“怎么会”? shell 终端对于程序员来说是一个非常有价值的工具,但是没有人尝试比 cmd.exe 做得更好(除了@console2 的人)?

当然,设计一个命令行 shell 终端模拟器是不可能的such这是一项艰巨的任务!

有人尝试过编写 shell 终端模拟器吗?这里面是什么?那里有什么资源(比如,如果我想编写自己的 shell)?

UPDATE

2009年7月17日

我重新表述了这个问题,我所说的“shell”实际上被称为终端模拟器(至少在linux世界中)。我最近才意识到这一点,所以我想我应该重新审视这个问题并解决它。


Windows 上有很多 shell,Cygwin 下的 bash 是我使用最多的一个,而且它当然是免费的。我必须在这里说实话,自 MSDOS 的批处理文件处理器以来,cmd.exe 已经取得了长足的进步。它实际上非常强大,但仍然不是 bash 后端的一个疙瘩:-)。

You should尝试编写一个命令行 shell,这对您来说是一种教育。如果您想要的只是一个程序启动器,那么完成基础知识并不难。

但是,如果您想要真正的 shell 的所有功能,包括完整的编程语言、作业控制、管道、输出重定向和(说真的)太多其他东西要列出,我们可能有一段时间不会收到您的消息。除非你突然抬起头来问我们一些深奥的问题,比如 shell 应该如何做这个或那个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写一个终端仿真器,里面有什么? 的相关文章

  • “此应用程序已请求运行时以异常方式终止它”的原因是什么?

    Visual C 运行时抛出一个常见错误 此应用程序已请求运行时以异常方式终止它 请联系应用程序的支持团队以获取更多信息 该错误消息实际上是什么意思mean 让我用一个比喻来准确地解释我的问题 如果我看到一条消息 异常 访问冲突 0xc00
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • 使用 BitmapEncoder 生成时如何使 GIF 循环重复

    我能够使用 BitmapEncoder C WinRT 创建动画 gif 但是 我一直无法弄清楚如何让GIF循环回来并从头开始 没有尝试太多 因为我不确定要尝试什么 搜索了更多要在 GIF 上设置的属性 但找不到任何相关内容 好吧 终于能弄
  • Windows 睡眠功能极慢

    我正在通过 Windows h 使用 Sleep 命令制作一个程序 并且在 Windows 10 而不是 Windows 7 上运行我的程序时遇到了令人沮丧的差异 我将我的程序简化为下面的程序 它与我的更复杂的程序表现出相同的行为 在 Wi
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • PostgreSql“运行安装后步骤...数据库集群初始化失败”

    我是一名 Windows 用户 我花了几个小时不断地安装和卸载 然后才使其正常工作 前 10 次左右才看到标题中的错误消息 我将其作为一个自我回答的问题放在这里 以防止其他人在安装时可能遇到同样的问题 并为像我这样第一次使用 Postgre
  • 如何使用 python 在 Windows 中禁用/启用特定 USB 端口? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在图形窗口中创建一个切换开关 可以使用 python 禁用 启用 Windows 中的特定 USB 端口 我可以使用哪个外部命令或
  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • 哪个版本的 Miniconda 具有适用于 Windows 64 位的 Python 3.6?

    我正在开发一个需要这些深度学习库的项目 keras 和 tensorflow 不幸的是 这些不适用于 Python 3 7 有人可以告诉我一个带有 Python 3 6 的 Miniconda 版本 适用于 Windows 64 位 吗 我
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • 将文件夹中的所有文件及其所有子文件夹移动到一个大文件夹中 - windows xp

    我有一个文件夹 c downloads ffme 里面有很多子文件夹 每个子文件夹中都有不同数量的文件 我想将所有这些单独的文件合并到一个大文件夹中 同时将它们从子文件夹中删除 我希望最终得到一个包含大量文件的文件夹 但没有子文件夹 我怎样
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • 将文件从不同目录复制到公共目录

    我有很多目录 其中包含 c文件 我想复制全部 c使用 shell 脚本将不同目录中的文件复制到单个目录 find name c exec cp t tmp 启动当前目录中的所有项目 递归 获取名称结尾的项目 c 将这些项目复制到 tmp 如
  • Pure Bash 替换捕获组

    我有这个示例字符串 test string 13A6 该字符 数字可以是从 0 到 9 以及从 A 到 F 我想要这个输出 1 3 A 6 我有这个工作 result echo test string sed s g 我想在没有 sed 的

随机推荐

  • Jquery 粘性菜单不被页脚捕获

    谁能帮我找出我的脚本的问题吗 function var top sidebar offset top parseFloat sidebar css marginTop replace auto 0 var footTop footer of
  • 获取当前目录下的文件列表

    我正在尝试获取一个脚本来读取脚本文件所在目录的内容 然后根据部分名称识别几个特定文件并压缩它们 但我无法得到object Files财产来工作 有人能告诉我这里出了什么问题吗 Set FSO CreateObject Scripting F
  • 迭代视图网格 SwiftUI

    我想获取一个可变长度的数组并返回一个包含 3 列和可变行长度的视图网格 视图应该根据数组值更新其内容 以下代码将为每张卡片呈现一个 CardPicView 在滚动视图中标题为 A I struct ContentView View let
  • 在 IE8 中赋予子窗口焦点

    我正在尝试从 Javascript 函数启动一个弹出窗口 并使用以下调用确保它具有焦点 window open popupUrl popupName focus 它适用于所有其他浏览器 但 IE8 将新窗口保留在后台 并带有闪烁的橙色任务栏
  • 使用 AutoFac 和 AutoMock 模拟 CloudBlobClient

    我正在尝试为我的 AzureBlobRepository 编写单元测试 存储库在构造函数中接收 CloubBlobClient 我想嘲笑客户端 但这给出了一个例外 using var mock AutoMock GetLoose var m
  • 带有异步的 jQuery Ajax 调用返回 null responseXML

    我有简单的 JavaScript 代码 它使用 Ajax API 从服务器获取 XML function loadXML path node var response obj Fire Ajax request and get the XM
  • WCF、Silverlight:找不到 clientaccesspolicy.xml

    我正在尝试将我的 Silverlight 应用程序连接到我自己托管的 WCF 服务 我创建了一个 clientaccesspolicy xml 文件 并将其放置在服务宿主项目的根目录中 但是当我尝试访问该服务时 我的http 嗅探器说找不到
  • HTML 单独注释每一行,而不是块注释

    菜鸟问题 但我希望能够使用 VS Code 中的键盘快捷键快速注释 HTML 代码 问题是我得到这个 而不是这个 有人知道 VS Code 中有一个很好的扩展吗 谢谢 Julien 请参阅我写的这
  • 如何在android中以编程方式获取设备的IMEI/ESN?

    为了唯一地标识每个设备 我想使用 IMEI 或 CDMA 设备的 ESN 号 如何以编程方式访问它 你想打电话android telephony TelephonyManager getDeviceId 这将返回唯一标识设备的任何字符串 G
  • 当使用值实例化模板类对象时,C++20 概念无法编译

    请参考以下C 20代码 template
  • MySQL 对字符串第一部分的索引

    我正在 MySQL 中查询一个非常大的表 超过 3M 条记录 其中包含category id subcategory id 和邮政编码 数据库中的 zip 可能是也可能不是 10 个字符 目的是获取指定邮政编码的特定半径内的所有目录 子目录
  • Spring 注解 - 注入对象映射

    使用 XML 注释 我使用以下配置注入地图
  • PHP debug_backtrace 在生产代码中获取有关调用方法的信息?

    是否有令人信服的理由不使用debug backtrace仅仅是为了确定调用方法的类 名称和参数列表吗 不用于调试目的 它的函数名称中有 debug 一词 这让我觉得以这种方式使用它有点肮脏 但它符合我需要做的事情 一个可以从许多地方调用的单
  • 嵌入式linux ARM启动地址

    我按照一些文档通过 sdcard 在 ARM 板 例如 Freescale Vybrid tower 上启动嵌入式 Linux 在文档中 有构建 uImage 并将 u boot 写入 sdcard 的步骤 如下所示 sudo dd if
  • LNK2019问题

    我有一个LNK2019尝试在我的项目中使用某些 DLL 时出现问题 Details 我有一个名为 dll1 的 DLL 项目 编译得很好 使用 declspec dllexport 以便导出 dll1 内的类 供 dll2 使用 我有另一个
  • 如何将现有的 React 应用程序(只是一个没有后端的 UI)插入(注入?)到 SilverStripe 页面布局中?

    我的问题是 我一直在阅读 SilverStripe 4 文档 以便找到一种将现有 React 应用程序 只是没有后端的嵌套 React 组件的 UI 插入 SilverStripe 页面布局的方法 这可能吗 如何确保 SilverStrip
  • php 无法在 wampserver 的 html 代码中工作

    事情是这样的 我有一个名为first php 的文件 其中包含以下代码 welcome br 但是 当我执行它时 php 代码不会被解释 短开标签似乎也已打开 我正在使用 wampserver 我错过了什么 您的服务器似乎配置错 误 您的
  • python 数组赋值与标量赋值

    我有一个二维数组A形状的 4 3 和一个一维数组a形状的 4 我想交换前两行A 以及中的前两个元素a 我做了以下事情 A 0 A 1 A 1 A 0 a 0 a 1 a 1 a 0 显然 它适用于a 但失败了A 现在 第二行成为第一行 但第
  • Selenium IDE:将测试脚本包含到新的测试脚本中

    我们谷歌找到解决方案但没有成功 我们如何将已经录制的脚本添加到新脚本中 Selenium Core有一个扩展 include 可以将另一个测试的内容添加到当前测试中 这是 OpenQA wiki 上的页面 http wiki openqa
  • 编写一个终端仿真器,里面有什么?

    这有点关系到这个问题关于 cmd exe 的更好的 shell 终端 gui 界面 在我寻找更好的 shell 终端的过程中 我遇到的唯一有用的东西是Console2 其他替代品不是免费的 而且通常不会比 Console2 提供更多的功能来